nxmxx / blog

记录我的学习路程和我的进步
1 stars 0 forks source link

Final关键字 #20

Open nxmxx opened 4 years ago

nxmxx commented 4 years ago

Final 定义:final关键字表示最终的,不可改变的; 1.Final修饰一个类 格式:public final class{

}

使用: Final修饰的类是“太监类”,可以有父类,但是不能有子类。 Final修饰的类中的方法不可被覆盖重写 Final修饰的类是最终的类,不可改变。 2.Final修饰一个方法 格式:public final 返回值类型 方法名称(){

}

使用: Final修饰的方法不能在子类在覆盖重写 Final修饰的方法不能同时使用abstract 关键字; Final修饰的方法是最终的方法,不可改变。

3.Final修饰一个局部变量 一次赋值,终身不变 格式: 基本数据类型 final 数据类型 局部变量名 = 赋值; 引用数据类型 final 类名称 对象名称 = new 类名称(“赋值”,12); 使用: 基本数据类型不改变的是赋值得数据; 引用数据类型不改变的是引用型变量(=对象名称)的16进制地址值不可改变,但是可以更新其中的内容;例如: final Student stu1 = new Student(“高圆圆”); stu1.setName(“高圆圆圆圆圆圆”) stu1的地址值并未改变,改变的是写入的内容。 4.Final修饰一个成员变量 成员变量使用了final关键字,则不在改变; 格式: Public/private final 数据类型 成员变量名称 = 赋值; 使用: 成员变量具有默认值,所以一定要进行手动赋值,否则将再无法改变; 对于final修饰的成员变量,要么初始化的时候直接赋值,要么在构造方法中赋值; 通过构造方法赋值,则已经固定了成员变量的值,不能再改变,所以成员变量的set方法就不能再写了; 必须保证类中所有重载的构造方法对最终会对final的成员变量进行赋值。 5.四种权限修饰符

同一类:四种修饰符修饰,在一个class 或 interfac中都能访问修饰的成员变量。 同一个包:在同一个package中,但不是同一类,且两个类无关。 不同包子类:不同的包的两个类是继承关系。 不同包非子类:不同的包的两个类且两个类没有关系。