该用户从未签到
|
一·final
Final 类不能被继承,故没有子类这么一说,且final类中的方法默认是final的;
Final方法不能被子类的方法覆盖,但可以继承;
Final成员变量表示常量,只能被赋值一次,且赋值后值不能再改变;
Final不能用于修饰构造方法;
另:父类的private成员方法是不能被子类方法覆盖的,因此,private类型的方法默认是final类型的。
当函数参数为final类型时,你可以读取使用该参数,但是无法改变参数的值。
二·static
Static表示不用实例化就可以使用。
对于类变量或者静态变量(即被static修饰的变量),JVM只为其分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问,是类的所有实例共享的一个变量。
对于实例变量,每建一个实例,就会为实例变量分配一次内存。
静态方法不能访问类中非静态成员变量和非静态方法,只能访问类中的静态成员变量和静态方法,因为实例成员与特定的对象相关联。
静态代码块:
static {
Test5.a = 3;
System.out.println(a);
Test5 t = new Test5();
t.f();
t.b = 1000;
System.out.println(t.b);
}
可以放在类中的任何位置,在加载类的时候执行,如果存在多个静态代码块,根据在类中的顺序执行。
|
|