final关键字
- 被final修饰的变量只能赋值一次。不能被修改。(常量)
- final修饰的类不能被继承
- final修饰的方法不能被子类重写。
- final修饰局部变量问题:当局部变量为基本类型时:值不变,当局部变量为引用类型时,引用类型的地址值不能变。例如:当存在一个类S,存在如下代码就会报错:
final S s=new S();
s=new S();
因为当前s被final修饰,不能在将它指向新的地址。
static关键字
- static静态,static修饰的成员变量被该类所有对象所共享。
- static修饰的成员,属于类成员,与类关联,而不与任何对象关联。
- static的特点:随着类的加载而加载,可以直接使用类名调用(也可以使用对象调用。)
- static变量在方法区的静态区。
注意:
- 在静方法中是没有this关键字的,因为static随类加载而加载,this是随着对象的创建而存在的,此时并没有对象被创建。static优先于对象创建。
- static方法只能访问static成员变量和static方法。而非静态的可以访问静态的。
(这些是我自己的总结,仅供参考,有问题的地方还请指正。)