关键字:final

目录

一、理解

二、可以用来修饰的结构

(一)final用来修饰一个类

(二)final用来修饰一个方法

(三)final用来修饰一个变量

 final修饰属性

 final修饰局部变量

三、static final

四、练习

①static修饰的属性,相较于实例变量,有哪些特别之处?

②final可以用来修饰哪些结构,分别是什么意思

③类的属性赋值的位置有哪些?先后顺序?


一、理解

final:最终的

二、可以用来修饰的结构

类、方法、变量

(一)final用来修饰一个类

不能再让其他的类继承

例如:String类、System类、StringBuffer类等都声明为final

(二)final用来修饰一个方法

表明此方法不可以被重写

 例如:
Object类中的方法getClass();

getClass();  获取当前对象所属的类

(三)final用来修饰一个变量

变量,未说明时属性,属性是变量的一种

修饰变量:此时的“变量”就称为是一个常量

 final修饰属性

 可以考虑赋值的位置:显式初始化、代码块中初始化、构造器中初始化

 final修饰局部变量

尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。 一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值

三、static final

修饰属性:全局常量

四、练习

①static修饰的属性,相较于实例变量,有哪些特别之处?

  1. 随着类的加载而加载

  2. 早于对象的创建

  3. 只要权限允许,可以通过“对象.static的属性”的方式进行调用

  4. 存在于方法区的静态域中

②final可以用来修饰哪些结构,分别是什么意思

  1. 类:不能再让其他的类继承
  2. 变量:修饰变量:此时的“变量”就称为是一个常量
  3. 方法:表明此方法不可以被重写

③类的属性赋值的位置有哪些?先后顺序?

默认初始化

显式初始化、代码块中初始化

构造器中初始化

通过“对象.属性”或“对象.方法”的方式赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

elk-zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值