您的位置:首页 > 编程语言 > Java开发

java之final关键字

2017-11-24 17:20 351 查看
1.final翻译:最后的,最终的;决定性的;不可更改的

2.用法规则:

   final成员变量:表示常量,只能被赋值一次,赋值后值不再改变。【一般用大写表示】

  
final方法:不能被子类的方法覆盖【即是不能被重写】,但可以被继承。【一个类里面有final方法,这个方法会被继承下来,但是不能被重写】

  
final类:不能被继承,没有子类,final类中的方法默认是final的

3.注意:

   父类的private【私有的】方法是不能被继承他的子类方法覆盖的,一般默认:private等价于final。

4.好处:

   1.final关键字提高了性能。JVM和Java应用都会缓存final变量

   2.final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。

   3.使用final关键字,JVM会对方法、变量及类进行优化。

  
4.总结下就是:提高执行效率。

5.final变量使用:

public class kfinal {
final String A = "拳皇97";//声明final变量,一般用大写表示
final int B = 97;
String c = "拳皇98";//普通变量声明
int d = 98;
final String E;//final空白,必须在初始化对象的时候赋初值,否则报错
public kfinal(String x) {//构造方法对它进行赋值
E = x;
}
/**
* @param args
*/
public static void main(String[] args) {
kfinal k = new kfinal("草薙京");
System.out.println(k.E);
//k.A="拳皇99";//The final field kfinal.A cannot be assigned【提示不能被重新赋值】
k.c= "拳皇99";//普通可以被再次赋值
}

}
6.final方法的使用:

public class kfinalway {

public String getName(){
return "kof common";
}

public final String getfinalName(){
return "kof final";
}

}


结论:不能被子类的方法覆盖【即是不能被重写】,但可以被继承

7.final类用法:

定义:final类通常功能是完整的,它们不能被继承。Java中有许多类是final的,譬如String, Interger以及其他包装类

final class KOF{

}

class KOFson extends KOF{ //compilation error: cannot inherit from final class

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息