浅谈final关键字

2015-08-18 10:51 阅读 2,926 次 评论 0 条
版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/335.html

final在Java编程中使用的也比较多,表示“最终的,最后的,无法改变”的意思,我们使用final来修饰非抽象类、非抽象成员方法、变量和常亮,由于final的特殊作用,可以在某个方面提高效率。

1、final修饰的非抽象类不能被继承,没有子类,final类中定义的方法默认是final方法

public final class Animal {

public void setName(String name){

System.out.println(name);

}

}

public Cat extends Animal{//这里编译的时候会报错,因为final修改的Animal不能被Cat继承

public static void main(String []args){

Cat cat=new Cat();

cat.setName("我叫小猫");

}

}

2、final修饰的非抽象成员方法可以被继承,但不能被子类中的方法覆盖

public  class Animal {//去掉修饰类Animal的关键字final

public final void setName(String name){//final修饰Animal类中的setName方法,表明该方法可以被继承,不能被覆盖

System.out.println(name);

}

}

public Dog extends Animal{//这里编译的时候会报错,因为final修改的Animal不能被Cat继承

public static void main(String []args){

Dog dog=new Dog();

dog.setName("我叫小狗");

}

public void setName(String name){//这里会报错,原因是父类中final修饰的setName()方法不能在子类中被覆盖

System.out.println(name);

}

}

3、final修饰的变量引用不能被修改,但是指向引用的内容是可以改变的

 

4、final修饰的常量只能被赋值一次,赋值后不能改变

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ1589359239或公众号TeachCourse)
转载请注明出处:http://teachcourse.cn/335.html
分类:Java基础 标签:
关于刘翔妈妈我听闻的一件事,绝对不是个好伺候的婆婆 关于刘翔妈妈我听闻的一件事,绝
自定义弹窗 VS AlertDialog分享弹窗 自定义弹窗 VS AlertDialog分
很抱歉“com.huawei.lcagent”已停止运行解决办法 很抱歉“com.huawei.lcagent”已
Android Studio如何使用桌面版GitHub管理项目? Android Studio如何使用桌面版

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情