1、final修饰类
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。

2、 final修饰方法
如果一个类不允许其子类覆盖某个方法(即不允许被子类重写),则可以把这个方法声明为final方法。
使用final方法的原因有二:

把方法锁定,防止任何继承类修改它的意义和实现。
高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。

3、final修饰变量(常量)
用final修饰的成员变量表示常量,值一旦给定就无法改变!
final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。
一旦给final变量初值后,值就不能再改变了。
另外,final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。
但是,final空白在final关键字final的使用上提供了更大的灵活性,
为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。

转自:https://www.cnblogs.com/zxfei/p/10735225.html

final修饰变量、方法、类的作用相关推荐

  1. final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承?

    final修饰的方法能否被继承?能否被重载?能否被重写?final修饰的类能否被继承? 首先我们先看下final在java中的作用 final在Java中可以用来修饰类.修饰方法和修饰变量 1. fi ...

  2. Java之final修饰变量

    final修饰的实例变量 被final修饰的实例变量必须显示指定初始值,而且只能在如下3个位置指定初始值: 1.定义final实例变量时指定初始值: 2.在非静态初始化块中为final实例变量指定初始 ...

  3. Java中final修饰变量

    一:final修饰的变量即成为常量,只能赋值一次,但是final所修饰局部变量和 员变量有所不同. (1)final修饰的局部变量必须使用之前被赋值一次才能使用 (2)final修饰的成员变量在声明时 ...

  4. java 线程参数 用final,JAVA 关于final修饰变量参数

    很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,我们需要注意的是,在final修饰的方法参数中,如果修饰的是基本类型,那 ...

  5. [Java]static、final修饰的方法是否可以被子类继承、是否可以被子类重写及final修饰详解

    static修饰的方法: 1.父类中的静态方法可以被继承.但不能被子类重写. 2.如果在子类中写一个和父类中一样的静态方法,那么该静态方法由该子类特有,两者不构成重写关系. final修饰: 1.修饰 ...

  6. CGLIB对类做动态代理时,无法拦截static修饰的方法和final修饰的方法

  7. UVM设计模式 ( 二 ) 参数化类、静态变量/方法/类、单例模式、UVM_ROOT、工厂模式、UVM_FACTORY

    目录 参数化的类 静态变量和方法 静态类 单例模式 全局唯一类 处理资源访问冲突 UVM_ROOT m_parent m_children run_test() find() print_topolo ...

  8. final修饰符,修饰的变量、方法、类、还有一些相关注意事项

    final final修饰变量:对于final修饰的变量来说,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,是指引用变量不能变,引用变量所指向的对象中的内容还是可 ...

  9. final修饰类,修饰方法,修饰变量有什么特点?

    1.final修饰的类不可以被继承,但可以继承其他的类. 2.final修饰的方法,子类可以继承但是不能重写. 3.子类重写父类的非final方法可以加上final. 4.被final修饰的基本数据类 ...

最新文章

  1. 安卓开发|自定义监听器的三个步骤
  2. 如何编写更好的SQL查询:终极指南-第二部分
  3. python爬取携程酒店信息_不写代码玩转爬虫实例(3) - 抓取携程酒店信息
  4. 2.6 子窗口赋值给父窗口并关闭子窗口 我的程序猿之路:第十六章
  5. Yarn 报错:error Couldn‘t publish package: “https://registry.yarnpkg.com/ 。。。Forbidden“
  6. VS2010版快捷键指南
  7. 一、公安备案与经营性备案
  8. 柳神(柳婼)PAT甲级题目链接
  9. matlab在mac中好用吗,Matlab Mac版上手
  10. 计算锥形的表面积c语言编程,表面积和体积,就没见过这么耐心的解释!
  11. 电磁波在介质中衰减matlab,电磁波衰减系数特性分析.pdf
  12. 电信显示isp服务器连不上,电信拨号上网连接不上的原因是什么
  13. 美团构建实时数仓的痛点是什么?如何解决?
  14. 禁止每次打开edge自动在开始菜单创建Microsoft Edge 的 Edge 栏
  15. 浅谈留存率到底有多少种统计方式(口径问题)
  16. 博科br310交换机级联
  17. Hexo-Fluid主题添加音乐页面
  18. 数学建模学习笔记---Mooc1
  19. 三菱FX2N模拟量模块-模拟量输入模块
  20. ue4 GetPhysicsLinearVelocity 为空

热门文章

  1. 电脑怎样删除警告“操作无法完成“的文件夹
  2. 企业为什么需要知识管理
  3. i.MX283开发板第一个Linux驱动-LED驱动
  4. Gurobi + Python
  5. ios手游退款有风险吗?
  6. u盘数据恢复软件mac版下载与应用
  7. G - RMQ and RAQ (cugb2023-s)
  8. Android SDK包下载分享
  9. 回归——一元线性回归
  10. androidの手机Email学习总结