1.访问修饰符:
Private:私有的,外部是不可访问的。
Public:公有的,外部可以访问
Protected:保护的,外部访问如果是来自子类是可以的,其他是拒绝的。
也就是外部分为两种:子类和非子类,对于子类而言,protected等用于public,而对于非子类,protected有等同于private;
比如在Employee类中,如果name是私有的,那么这个访问就是被拒绝的,而如果是保护的则可以。
public void print(){
super.print();
System.out.println(name);
System.out.println(salary);
}
即使是保护的成员,对于非子类的外部访问也是拒绝的,比如在测试类中就是不可以的。
public class Test {
public static void main(String [] args){
Person p = new Person("410611199810216014","Chenanan","女");
Employee e = new Employee("4102215425523512","anan","男",360);
p.print();
e.print();
System.out.println(e.name);
}
}
2.final
final关键字声明类可以把类定义为不可继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
声明类:
final class 类名 {//类体}
声明方法:
修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}
注意:实例变量也可以被定义为final,被定义为final的变量不能被修改,被声明为final类的方法自动地声明为final,但是实例变量并不是final。