【转】java中的final关键字与方法重载等
java中final关键字修饰的变量、类、方法具备以下特性:
final修饰的变量只能赋值一次,例如:
final int value;
value = 0;
这样写实能正常运行的,但是如下写法将报错
final int value;
value = 1;
int i = 2;
value = 10;
value *= i; //这一行将报错
fianl 修饰的方法表示这个方法不能被子类重写覆盖
final修饰的类表示类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。
关于重载与重写
重载是同一个类中多态性的表现,同一个类中可以通过改变一个方法的参数个数、参数类型实现重载,
重载中返回值类型可以改变,但是只改变返回值类型并不能实现方法重载
重写是父类与子类多态性的表现,子类通过重写覆盖父类方法的同名方法实现重写,当该方法被调用时,会调用子类中的方法,父类中的同名方法被屏蔽掉了。
浙公网安备 33010602011771号