Javafinal关键字final关键字的几种用法
常见的四种用法:
1. 可以用来修饰一个类
格式:
public final class 类名称 {
//......
}
含义:当前这个类不能有任何子类。(太监类)
注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没有儿子)
2. 可以用来修饰一个方法
当final关键字来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写
格式:
修饰符 final 返回值类型 方法名称(参数列表){
// 方法体
}
注意:对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾。
3. 还可以用来修饰一个局部变量
一旦使用fianl用来修饰局部变量,那么这个变量就不能进行更改(一次赋值,终生不变)。
格式:
final 数据类型 对象名
对象名 = 数据值
- 对于基本类型来说,不可变说的是变量当中的数据不可变
- 对于引用类型来说,不可变说的是变量当中的地址值不可变
4. 还可以用来修饰一个成员变量
对于成员变量来说:如果使用final关键字来修饰,那么这个变量也照样是不可变。
- 由于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了。
- 对于fianl的成员变量,要么使用直接赋值,要么通过构造方法赋值。二直选其一。
- 必须保证类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。
Javafinal关键字final关键字的几种用法相关推荐
- Java提高篇 —— Java关键字之static的四种用法
一.前言 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一 ...
- 细说final的的四种用法-----修饰类,修饰方法,常量,修饰参数 及内部类与final
final关键字用于修饰类 public final class 类名称 { - } 一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写,java中典型的final修饰的类 Strin ...
- java 之 继承 super关键籽 this关键字 final关键字
继承 语法: 使用 extends 来继承 class子类 extends父类{ 子类属性 子类方法 } 继承的特点: 1.子类会把父类所有的属性和方法继承下来,final修饰的类是不可以被继承 ...
- 随笔② Java中的关键字 --- final关键字
一:final关键字 ① final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量.final变量经常和static关键字一起使用, ...
- 1.6 this关键字详解(3种用法)
this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用. this表示当前对象 下面我们根据示例分别讲解 thi ...
- 【零基础学Java】—final关键字与四种用法(二十九)
[零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...
- java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程
多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...
- JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)
第3节 面向对象高级 一.继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 ...
- java本地方法不能是final_Java final关键字
首页 > 基础教程 > 关键字 > final关键字 Java final关键字 简介 final是java的关键字,它所表示的是"这部分是无法修改的".不想被改 ...
最新文章
- 汉诺塔怎么加计数次数c语言,C语言计算汉诺塔最小移动步数 (二)
- python canvas画弧度_只要十分钟,python绘图神器turtle了解一下?
- Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)(转载)
- HIRO 部署新一代可扩展边缘微型数据中心
- sip 时序图_简单几步让你看懂单片机时序图
- Vue通过id跳转到商品详情页
- 网络工程师(2) 操作系统
- python装饰器打印函数执行时间_python装饰器计算函数执行时间
- SQL语言:DQL,DML,DDL,DCL
- iOS底层探索之LLVM(三)——自定义Clang插件(下)
- eclipse birt报表开发入门
- 如何跨越线程调用窗体控件?(3)
- 详解健康体检信息管理系统技术开发
- L1-1 寻找250(10 分)
- 2017京东实习生笔试题之异或
- 最优化-(黄金分割法)0.618法
- 人工智能创新研究报告
- 推特开发者账号 V2【推特开发者文档V2系列1】——获取推特视频播放量
- 计算机二级的Word知识点,计算机等级考试二级office基础知识点总结.doc
- 网段sub地址应用,同一交换机下2个不同网段互通(未分配vlan)