1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > final修饰符 修饰的变量 方法 类 还有一些相关注意事项

final修饰符 修饰的变量 方法 类 还有一些相关注意事项

时间:2019-09-15 06:27:37

相关推荐

final修饰符 修饰的变量 方法 类 还有一些相关注意事项

final

final修饰变量:对于final修饰的变量来说,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的,也就是说在对其初始化之后便不能再让其指向另一个对象。

注意:

对于普通实例变量,Java程序可以对它执行默认的初始化,也就是将实例变量的值指定为默认的初始值0或null,但对于final修饰的实例变量,则必须由程序员显示的赋予初始值。

public static final int a;//这里会报错,未给a赋初始值;

final修饰方法:final来修饰方法,那么表示该方法不能被重写,如果在父类中使用final 来修饰方法,那么该方法就被定义为private,即不可重写,即方法被私有化了。

注意:

用final修饰的方法不能被重写,但可以有多个重载。

//对于重写class father{public final void speek() {System.out.println("Father say");}}class son extends father{@Overridepublic void speek() {//speek会编译报错System.out.println("sun say");}}//对于重载class father{public final void speek() {System.out.println("Father say");}static void speek(int a) {System.out.println(a);}public static void main(String[] args) {father.speek(1);}}//编译正确:输出1

3.final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类

总结:

final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。