• final关键词的四种用法

     *
    * final 关键字:最终的、不可改变的
    * 1、可以用来修饰一个类
    * 2、可以用来修饰一个方法
    * 3、可以用来修饰一个局部变量
    * 4、可以用来修饰一个成员变量
    *
    *
    * 1、final 修饰一个类:
    * 格式:
    * public class final 类名称 {
    * // 方法区
    * }
    * 含义:当前的类不能更改,不能有子类(太监类)
    * 不能使用一个 final 修饰的类来当父类,这个类里面的所有方法也就不能进行覆盖重写了。
    *
    *
    * 2、final 修饰一个方法:
    * 格式:
    * 修饰符 final 返回值类型 方法名称(参数列表) {
    * // 方法体
    * }
    * 含义:该方法所在的类可以被继承(即可以是其他类的父类),
    * 但是这个方法不能给覆盖重写,用final修饰后就不可以更改了
    * 注意事项:对于类、方法来说,关键词abstract和final不能同时使用,因为会矛盾。
    * abstract 修饰的类、方法是一定要给覆盖重写的,而 final 修饰的类是不能更改的(即不能给覆盖重写的)
    * 所以关键词abstract和final不能同时使用
    *
    *
    * 3、final 修饰一个局部变量
    * 一旦使用 final 修饰的局部变量,那么这个变量将不能进行更改,
    * "一次赋值,终生不变"
    * 注意事项:
    * 对于基本数据类型来说,不可变的是变量当中的数据值
    * 对于引用苏剧类型来说,不可变的是变量当中的地址值
    *
    *
    * 4、final 修饰一个成员变量
    * 对于成员变量来说,使用了 final 来修饰,那么这个变量同样也是不可以进行更改的,且需要马上赋值,否则无意义
    * 假如你用final修饰来一个成员变量,没有赋值,那么该成员变量的值是默认值,且不可以更改,那么定义这个成员变量就是无意义的
    * 注意事项:
    * (1)成员变量具有默认值,所以用了final修饰后,必须手动赋值,不会再给默认值了。
    * (2)对于final的成员变量,要么直接赋值,要么通过构造方法赋值(二者选其一)。
    * (3)必须保证类当中所有的构造方法,最终都对final成员变量进行赋值。
    *
  • final修饰成员变量

Java final关键词的更多相关文章

  1. Java final 关键词修饰类、方法、变量

    1. final修饰类  被修饰的类不能被继承,也没有子类.假如随意创建这些类的子类,子类可能会错误的修改父类的实现细节.出于安全原因,类的实现细节不允许有任何改动.在创建对象模型的时候,确信这个类不 ...

  2. java final 关键词

    package day9; /** * Created by admin on 2018/11/17. * final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承. final ...

  3. java—— finall 关键词

    _ *{ margin: 0; padding: 0; } .on2{ margin: 10px 0; cursor: pointer; user-select: none; color: white ...

  4. 深入java final关键字

    Java final关键字详解:https://blog.csdn.net/kuangay/article/details/81509164 深入java final关键字 用法注意点和JVM对其进行 ...

  5. 【笔试题】Java final keyword

    Java 知识测试 Java final keyword Question 1 What is the use of final keyword in Java? A. When a class is ...

  6. java中的final关键词

    参考资料: http://www.cnblogs.com/dolphin0520/p/3736238.html final是个修饰词,可以修饰类.方法.变量. 1. 修饰类 修饰类,就表示这个类不能被 ...

  7. java继承-final关键词用法

    final关键字特点: 1.可以用来修饰变量.方法.类. 2.修饰的变量是一个常量.一旦被赋值就不能被修改(常量一般都和static关键字配合使用) 3.修饰类代表此类不能被继承4.修饰方法代表次方法 ...

  8. Java final修饰符

    final的定义: 在英文层面上,final的意思是"最后的","最终的"意思,在Java中也同样表示出此种含义. final的运用对象: final适用于修饰 ...

  9. Java final 修饰符知识点总结

    final从字面上理解含义为“最后的,最终的”.在Java中也同样表示出此种含义. final可以用来修饰变量(包括类属性.对象属性.局部变量和形参).方法(包括类方法和对象方法)和类. 1. fin ...

随机推荐

  1. Centos下添加用户到用户组

    将一个用户添加到用户组中,千万不能直接用: usermod -G groupA 这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员. 应该用 加上 -a 选项: usermod - ...

  2. 在Element节点上进行Xpath

    XPathFactory xPathFactory = XPathFactory.newInstance(); XPath xpath = xPathFactory.newXPath(); try { ...

  3. centos linux mysql 10060远程错误代码

    Navicat for MySQL远程连接数据错误代码10060 1.登陆远程linux服务器命令界面 vim /etc/sysconfig/iptables  进入防火墙配置修改 增加以下两条防火墙 ...

  4. 2018-4-29-C#-金额转中文大写

    title author date CreateTime categories C# 金额转中文大写 lindexi 2018-04-29 09:50:38 +0800 2018-04-02 21:4 ...

  5. spring security自定义指南

    序 本文主要研究一下几种自定义spring security的方式 主要方式 自定义UserDetailsService 自定义passwordEncoder 自定义filter 自定义Authent ...

  6. java Scanner(简单文本扫描器)

    Scanner(File source)  构造一个新的 Scanner,它生成的值是从指定文件扫描的. 备注:实现了Iterable接口   package june6D; import java. ...

  7. 性能测试基础-开门篇3(LR常用函数介绍)

    LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...

  8. linux 选择 ioctl 命令

    在为 ioctl 编写代码之前, 你需要选择对应命令的数字. 许多程序员的第一个本能的反 应是选择一组小数从0或1 开始, 并且从此开始向上. 但是, 有充分的理由不这样做. ioctl 命令数字应当 ...

  9. linux 从用户空间的 I/O 存取

    刚刚描述的这些函数主要打算被设备驱动使用, 但它们也可从用户空间使用, 至少在 PC- 类 的计算机. GNU C 库在 <sys/io.h> 中定义它们. 下列条件应当应用来对于 inb ...

  10. JSPs

    简介 Tomcat 8.0 使用 Jasper 2 JSP 引擎去实现 JavaServer Pages 2.3 规范. Jasper 2 经过了重新设计,极大改善了上一版 Jasper 的性能.除了 ...