记录一下今天复习的final修饰符,其中 final类的成员方法隐式被final修饰部分 仅代表我个人理解

总结如下:

final有三种使用方法:

1、final修饰类 final修饰类表示这个类不能被继承, 这个类的成员变量可以选择性得用final修饰, 类的成员方法在继承角度来说可以理解为默认被final修饰, 因为java之前是可以用final使方法变为内嵌调用,以此来提高方法效率;

2、final修饰方法 final修饰方法表示这个方法被锁定,不能被任何类修改, 当一个方法被private修饰,则会被隐式得指定为final方法,即不能被继承super调用;

3、final修饰变量 final修饰变量分为两种,一种是修饰基本类型,一种是修饰引用类型, 当修饰基础类型的时候,第一次赋值后就不能被更改, 当修饰引用类型的时候,第一次指向后就不能修改其对象引用,即一直引用这一个对象,但是可以修改对象本身;

具体案例:

一、修饰类

当它修饰类的时候,表明此类不允许被其他类继承;

在被final修饰的类里面,所有成员变量都是可以选择性得使用final,但是被final修饰的成员变量必须立即赋值;

但是在被final修饰的类里,所有的成员方法都是会被隐式得加上final;这句话来自《java编程思想》一书,我验证了,但是编译后的class一样是不带final的,对于这句话我是这么理解的:因为Java之前版本是可以使用final使方法变为内嵌调用,以此来提升方法的效率,但是现在Java已经不需要这么写了;

二、修饰方法

当它修饰方法的时候,表示这个方法被锁定,不能被任何类修改;

而且当一个方法被私有化(被private修饰)的时候,则该方法会被隐式得指定为final,即不能在其子类被super调用;

三、修饰变量

final修饰变量分为两种情况,一个是修饰基础类型,一种是修饰引用类型;

当修饰基础类型的时候,第一次赋值后将不能更改变量的值;

当修饰引用类型的时候,第一次指向后就不能修改其对象引用,即一直引用这一个对象,但是可以修改对象本身;

Java中final修饰符的理解相关推荐

  1. java 中final修饰的变量_java中final修饰符的使用方法

    本文为大家分享了java中final修饰符的使用,供大家参考,具体内容如下 1.final修饰符的用法: final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值. final可 ...

  2. 关于Java中各种修饰符与访问修饰符的说明

    关于Java中各种修饰符与访问修饰符的说明 类: 访问修饰符  修饰符  class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 ...

  3. java中访问修饰符_Java中的非访问修饰符是什么?

    java中访问修饰符 Java非访问修饰符 (Java non access modifiers) We have 7 non-access modifiers in Java. The name o ...

  4. JAVA中final修饰参数

    1. final 修饰在变量上,说明这个变量的值不能修改 final 修饰在方法上,说明这个方法在继承后不能覆盖. final 修饰在类上,说明这个类为终态,不能被继承了. 2.final类型修饰的参 ...

  5. Java 中的修饰符总结

    学习了编写 Java 程序中的修饰符总结,而在编写Java程序时,都会遇到Java中的修饰符总结.所以往下面学习时,应当注意以下几点: 修饰符总结:四个访问控制符:注意:在不写访问控制符的情况下,就是 ...

  6. Java中权限修饰符

    Java中访问修饰符public.private.protect.default范围   同一个类 同一个包 不同包的子类 不同包的非子类 Private √ Default √ √ Protecte ...

  7. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  8. 有关于java的final修饰符

    近期在学习java,今天看到final修饰符的问题,我书上有个很有意思的句子,如果用final修饰符修饰一个可变的对象的话,final修饰符只能让这个引用对象的变量不变,换言之,它指向的对象不变,但对 ...

  9. 在java中 接口修饰符,Java接口中的修饰符

    示例 < Oracle Java样式指南>指出:当修饰符是隐式的时,不应将它们写出来. (有关上下文和指向实际Oracle文档的链接,请参见Oracle Official Code Sta ...

最新文章

  1. python的编程模式-Python设计模式之状态模式原理与用法详解
  2. LeetCode 904. 水果成篮(滑动窗口)
  3. lintcode最长回文子串(Manacher算法)
  4. 查询各个科目成绩前三的记录
  5. java base64 转图片不现实_Base64.decodeBase64将base64转图片的问题
  6. Spring发送基于freemarker模板的邮件
  7. 还不了解小程序?看这一篇文章就够了
  8. eclipse debug 多线程
  9. 拯救期末!大四留学生发“论文机器人”,替你读文献给方向调格式,已被ACL2019收录
  10. [生存志] 第74节 孔子集结诗经
  11. C语言 进阶版三子棋小游戏
  12. MTK支持的DRM简介
  13. wince 默认输入法_winCE6.0自带中文输入法加载
  14. BAT再战二手车,哪种模式会胜出?
  15. Java入门篇——零基础如何学习Java
  16. 未能加载文件或程序集“System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b1
  17. sx1268芯片手册第13章翻译
  18. 免费外链相册十三大平台
  19. 比较好用的Smartdraw
  20. java获取项目在tomcat中路径_java获取项目地址或tomcat绝对地址

热门文章

  1. 漫画城之自动轮播+GridView
  2. 小菜鸡的进阶之旅启程!
  3. AdaBoost分类器
  4. TI Matrix GUI测试-Launcher中添加自己的APP
  5. linux系统的drm配置mipi,NXP i.MX 8M Mini平台Linux系统启动时间优化
  6. artdialog html4,js插件之artDialog
  7. 全国计算机等级考试-Python
  8. Zookeeper Zap协议
  9. Service Mesh详解
  10. 32岁转行做程序员,年薪10万变70万,网友:我可以做到公司破产