在继承中,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承
API中提供的类,改写其内容呢?显然这是不合适的。
为了避免这种随意改写的情况,Java提供了 final 关键字,
用于修饰不可改变内容。
final : 不可改变。可以用于修饰类、方法和变量。
类:被修饰的类,不能被继承。
方法:被修饰的方法,不能被重写。
变量:被修饰的变量,不能被重新赋值。
2、final修饰局部变量
1)修饰基本类型的局部变量
基本类型的局部变量,被final修饰后,只能赋值一次,不能再更改。
2)修饰引用类型的局部变量
引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的
修改
成员变量涉及到初始化的问题,初始化方式有两种,只能二选一:
显示初始化;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;
}
}