一、特点

1、final从字面上理解含义为“最后的,最终的”。
2、final可以用来修饰变量(包括类属性、对象属性、局部变量、形参),方法(包括类方法和对象方法)以及类。

二、用法

1、用来修饰数据,包括成员变量和局部变量,该变量只能被赋值一次且他的值不能再被改变。对于成员变量来说,我们必须在声明或构造方法中对它赋值。2、用来修饰方法参数,表示在变量的生存期间它的值不能被改变。3、修饰方法,表示该方法不能被重写。(因为重写的前提是子类可以从父类中继承此方法,如果父类中final修饰的方法同时访问控制权限为private,将会导致子类中不能直接继承到此方法。因此,此时可以在子类中定义相同的方法名和参数,此时不再产生重写与final的矛盾,而是在子类中重新定义了新的方法。)public class B extends A {public static void main(String[] args) {}public void getName() {}}class A {/*** 因为private修饰,子类中不能继承到此方法,因此,子类中的getName方法是重新定义的、* 属于子类本身的方法,编译正常*/private final void getName() {}/* 因为pblic修饰,子类可以继承到此方法,导致重写了父类的final方法,编译出错public final void getName() {}*/}4、修饰类,表示该类无法被继承,即不能拥有自己的子类。

三、注意

1、final关键字可以用于成员变量、本地变量、方法以及类。2、final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。3、你不能够对final变量再次赋值。4、本地变量必须在声明时赋值。5、在匿名类中所有变量都必须是final变量。6、final方法不能被重写。7、final类不能被继承。8、final关键字不同于finally关键字,后者用于异常处理。9、final关键字容易与finalize()方法搞混,后者是在Object类中定义的方法,是在垃圾回收之前被JVM调用的方法。10、接口中声明的所有变量本身是final的。11、final和abstract这两个关键字是反相关的,final类就不可能是abstract的。12、final方法在编译阶段绑定,称为静态绑定(static binding)。13、没有在声明时初始化final变量的称为空白final变量(blank final variable),它们必须在构造器中初始化,或者调用this()初始化。不这么做的话,编译器会报错“final变量(变量名)需要进行初始化”。14、将类、方法、变量声明为final能够提高性能,这样JVM就有机会进行估计,然后优化。15、按照Java代码惯例,final变量就是常量,而且通常常量名要大写:

Java中final关键字的作用与用法相关推荐

  1. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  2. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

  3. Java中final关键字的作用

    final关键字可以用来修饰引用.方法和类. 1.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,比如对象.数组,则该对象.数组本身可以修改,但指向该 ...

  4. Java中static关键字的作用与用法

    一.static关键字的特点: static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能. 1. static修饰成员方法 static修饰的方法一般 ...

  5. java中final关键字的使用

    final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰  类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...

  6. 【Java_基础】Java中Native关键字的作用

    本篇博文转载与:Java中Native关键字的作用 转载于:https://www.cnblogs.com/leiblog/p/10529056.html

  7. C#中using关键字的作用及其用法(转)

    C#中using关键字的作用及其用法 using的用途和使用技巧.     using关键字微软MSDN上解释总共有三种用途:     1.引用命名空间.     2.为命名空间或类型创建别名.    ...

  8. 【零基础学Java】—final关键字与四种用法(二十九)

    [零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...

  9. ACAC java中final关键字

    java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...

最新文章

  1. 安卓 linux init.rc,[原创]Android init.rc文件解析过程详解(二)
  2. 【正一专栏】谁能阻止超神的曼城
  3. 极度舒适的 Python 入门教程,佩奇也能学会~
  4. 什么是二叉树?以及二叉树如何遍历?
  5. python2.7虚拟环境
  6. 关于iOS 'The sandbox is not sync with the Podfile.lock'问题解决方法
  7. 数字孪生智慧园区能源管理系统
  8. Windows Phone能否第三极崛起
  9. 计算机设置鼠标关灯,老司机详解罗技鼠标怎样关闭灯光
  10. 如何让自己的网站快速被百度收录(方法一)
  11. OAuth2.0最简向导(多图预警)
  12. pandas中的concat操作
  13. 【蓝桥杯】历届试题 数字游戏(C++)
  14. python程序员搞笑表情包_几十个程序员扎心的瞬间—必存表情包系列
  15. 心脏出血漏洞(CVE-2014-0160)
  16. 名企面试最看中的七点关键能力
  17. 内存不能为read或written最彻底的解决方法
  18. Google组织架构不学传统大公司
  19. [填坑]Ubuntu安装显卡专有驱动后鼠标键盘无法使用
  20. APP天气预报图标素材下载

热门文章

  1. 毕设记实录[0]-前言
  2. 峰会倒计时|2022重新思考Zabbix—对话CEO获门票
  3. 女孩子适合什么牌子蓝牙耳机?双11高颜值小清新蓝牙耳机推荐
  4. 【Swoole】当SWOOLE遇上PHP
  5. Webstorm 2019激活码
  6. 利用UIWindow实现密码保护功能
  7. 静态资源放置于独立域名之下的好处
  8. HTML学生个人网站作业设计:动漫网站设计——海贼王主题漫画(6页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  9. 前端模块与组件、模块化与组件化编程
  10. Linux 安装 SVN