final关键字
子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的的。为了避免这种随意改写的情况,Java提供了final关键字,用于修饰不可改变内容。
final: 不可改变,可以用于修饰类,方法和变量
类:被final修饰的类,不能被继承
方法:被final修饰的方法,不能被重写
变量:被final修饰的变量,不能被重修赋值
修饰类
final class 类名{
}
修饰方法
修饰符 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;
}
}