
1.继承权限、赋值权限 final

1.1final 定义

1.2final 用法

1.3final 修饰类

1.4final 修饰方法

1.5final 修饰成员变量

1.6final 修饰局部变量

1.7final 代码案例
//final类,不能有任何子类,不能有抽象方法,不能被abstract修饰
final /*abstract*/ class FinalClass {
int age = 99;
void method() {
System.out.println("FinalClass's method!");
}
}
class Fu /*extends FinalClass*/ {
//final修饰成员变量,当且仅当被初始化一次(直接赋值)
final int age = 99;
final String name;
//final修饰成员变量,(通过构造函数赋值)
public Fu(String name) {
this.name = name;
}
//被final修饰后的成员变量,不能有setter方法
/* public void setName(String name) {
this.name = name;
}*/
//final修饰成员方法,该类的子类将无法重写该方法
final void finalMethod() {
System.out.println("it's finalMethod!");
}
}
class Zi extends Fu {
//父类有含参构造,那么子类也必须有含参构造,并且为父类构造赋值super(x)
public Zi(String name) {
super(name);
}
public void method() {
//final修饰局部变量(基本数据类型),第一次被赋值后,该变量值将无法被修改
final int age;
age = 99;
/*age = 88;*/
//final修饰局部变量(引用类型),第一被赋值后,该引用的地址值将不能改变(对象内容是可以改变的)
final Fu fu = new Fu("");
/*fu = new Fu("");*/
System.out.println(age);
}
//父类方法被final修饰后,将不能被子类重写
/* void finalMethod() {
}*/
}
2.访问权限
2.1 public

2.2 protected

2.3 (default)

2.3 private
