Java 面向对象之final

final:不可改变。可以⽤于修饰类、⽅法和变量。

类:被修饰的类,不能被继承。
⽅法:被修饰的⽅法,不能被重写。
变量:被修饰的变量,不能被重新赋值。

局部变量 – 引⽤类型

引⽤类型的局部变量,被 final 修饰后,只能指向⼀个对象,地址不能再更改。但是不影响
对象内部的成员变量值的修改,代码如下:

public class FinalDemo2 {
public static void main(String[] args) {
// 创建 User 对象
final User u = new User();
// 创建 另⼀个 User对象
u = new User(); // 报错,指向了新的对象,地址值改变。
// 调⽤setName⽅法
u.setName("张三"); // 可以修改
}
}

成员变量

成员变量涉及到初始化的问题,初始化⽅式有两种,只能⼆选⼀:
显示初始化:

public class User {
final String USERNAME = "张三";
private int age;
}

构造⽅法初始化:

public class User {
final String USERNAME ;
private int age;
public User(String username, int age) {
this.USERNAME = username;
this.age = age;
}
}
public protected default private
同⼀类中 √ √ √ √
同⼀包中(⼦类与⽆关类) √ √ √
不同包的⼦类 √ √
不同包中的⽆关类 √
被 final 修饰的常量名称,⼀般都有书写规范,所有字⺟都⼤写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值