• 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. AIM Tech Round (Div. 2)

    A. Save Luke 题意:给一个人的长度d,然后给一个区间长度0~L,给你两个子弹的速度v1,v2,两颗子弹从0和L向中间射去(其实不是子弹,是一种电影里面那种绞牙机之类的东西就是一个人被困在里 ...

  2. python模块之configparser模块

    configparser模块:用于按一定格式创建配置文件 创建 import configparser config = configparser.ConfigParser() config['DEF ...

  3. mysql导入文件出现Data truncated for column 'xxx' at row 1的原因

    mysql导入文件的时候很容易出现"Data truncated for column 'xxx' at row x",其中字符串里的xxx和x是指具体的列和行数. 有时候,这是因 ...

  4. 【js】 vue 2.5.1 源码学习(六) initProxy initLifeCycle 渲染函数的作用域代理

    大体思路 (五) 1. initProxy 渲染函数的作用域代理 ==> es6 如果支持proxy (hasProxy) 就用proxy 不支持就用 defineProperty() prox ...

  5. P1063 高兴的津津

    题目描述 津津上高中了.她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次OI比赛必拿Au虐全场.每次她拿到一个Au后就很高兴.假设津津不会因为其它事高兴,并且她的高兴会持续T天(包包含获奖当天 ...

  6. SELECT command denied to user 'username'@'ip' for table 'user'错误处理

    错误信息 使用RDS for MySQL,程序执行查询SQL时报错如下: SELECT command denied to user 'username'@'ip' for table 'user' ...

  7. jekyll 如何加密博客 防止抓取

    经常会发现自己的博客被一些垃圾网站抓取,我就在博客进行加密,在访问的时候进行解密,于是爬虫如果不执行js就无法获得内容 本文告诉大家如何加密博客 加密使用把文章内容转换为 Html 之后转换为 bas ...

  8. linux内核符号表

    我们已经看到 insmod 如何对应共用的内核符号来解决未定义的符号. 表中包含了全局内 核项的地址 -- 函数和变量 -- 需要来完成模块化的驱动. 当加载一个模块, 如何由模块 输出的符号成为内核 ...

  9. Java语言中使用OpenMP

    从去年年中,开始学习Java,主要是维护公司用Java编写的服务器软件.目前,该服务器软件遇到一个问题,在下载大文件时,如果同时下载的用户很多, 服务器软件工作会出现异常,有的用户无法下载.服务器硬件 ...

  10. Linux 内核PCI去除一个设备

    一个 PCI 可用多个不同的方法被从系统中去除. 所有的 card-bus 设备在一个不同的物 理因素上是真正的 PCI 设备, 并且内核 PCI 核心不区分它们. 允许在机器运行时加减 PCI 设备 ...