static,final。
(1)final:
final:属于“终态”,意思就是不行以改变。可以修饰非抽象类,非抽象类的要领等。横竖就是不可以或许再改变赋值了。
留意:1)fina类不能被担任,所以它没有子类。
2)final不能用于修饰结构要领。
3)final要领可以担任,可是不可以或许被包围
4)final一旦赋值,便不能变动
5)final容器,好比list,容器不可以或许改变,可是容器内里的内容是可以变革的。
(2)static:
static:暗示“静态”,“全局”,可用来修饰变量,要领还可以用来形成static代码块。
被static修饰的的成员可能成员要领是独立于类的,它不依赖于某个实例,是被所有实例所共享的,也就是说,只要这个类被加载,JVM就能按照要领名去运行内存区去寻找它们。
不需要事先建设实例,
就这样认为吧,static修饰后的变量,在内存中只有一份拷贝,所有实例都共享这份拷贝,可是假如是实例变量,那么每次建设一个实例便会多建设一份数据。
static 代码块:
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的要领体内,JVM加载类时会执行这些静态的代码块,假如static代码块有多个,JVM将凭据它们在类中呈现的先后顺序依次执行它们,每个代码块只会被执行一次
private static final String GOOD = "G"; 暗示的是说“G”这个字符串在措施中我们可以利用GOOD替换。
泛型:
泛型是制止反复的装箱和拆箱 好比荟萃List<Strunt> studentList=new ArrayList<Student>();
可以直接往荟萃里添Student工具
studentList.add(student1);
studentList.add(student2);
…
假如是这样List studentList=new ArrayList();
studentList.add(student1);
studentList.add(student2);
那么想要遍历荟萃就得
for(Object o:studentList){
Student oo=(Student)o;//这里需要范例转换
}
而上面第一个可以直接
for(Student o:StudentList){
o就代表每一个学生的实体了 不需要范例转换便可获得
作者:博客园 郭佳盛哈哈