final修饰变量的时候
1.修饰基本类型
final int a = 10;//最终变量 表示常量 //只能被赋值一次
a = 20;//编译错误 不能为最终变量赋值
2.修饰引用类型
final String s = "aaa";//最终引用 只能引用一个对象 不能再引用其他的了
s = "bbb";//不能再赋值了 编译报错
2.修饰类
final修饰类表示最终类,不能被继承
public final class Bird {
…
}
这时候如果继承Bird,报错如下
The type TuoNiao cannot subclass the final class Bird
如果定义的类是最终的版本,不想让其他人扩展,可以使用final修饰,一般JDK自带的类都是
final的,例如String
3.修饰方法
如果方法不想让别人重写,可以加final,表示最终方法,不能被重写
public class Bird {
final public void fly(){
System.out.println("我是一只小小鸟,我在飞");
}
}
这时不能重写Bird的fly方法了
但是能继承,能不能继承是和访问权限修饰符有关系的….