final 和 static 分别能修饰什么?各有什么作用?
先自己想一想,再看参考要点
参考要点
- final 修饰的变量只能赋值一次,修饰引用类型时是引用不能变,被引用的对象本身可以修改
- final 方法不能被子类重写,private 方法隐式是 final 的,final 类不能被继承
- static 变量属于类,所有实例共享一份,JDK 7 起随 Class 对象放在堆中
- static 方法不依赖实例,不能使用 this 和 super,不能直接访问实例成员,也不能被重写
- 用常量表达式初始化的基本类型或 String 类型的 static final 字段是编译时常量,读取它不会触发所在类的初始化