继承知识点总结
- 1
设计父类通常遵循的规则
1、尽量隐藏父类的内部数据。把父类的所有成员变量都设置成private访问类型,不要让子类直接访问父类的成员变量。2、不要让子类可以随意访问、修改父类的方法。父类中那些仅为辅助其他的工具的方法,应该使用private访问控制符修饰,让子类无法访问该方法;如果父类中的方法需要被外部类调用,则必须以public修饰,但又不希望子类重写该方法,可以使用final修饰符类修饰该方法;如果希望父类的某个方法被子类重写,但又不希望被其他类自由访问,则可以使用protected来修饰该方法。3、尽量不要在父类构造方法中调用将要被子类重写的方法。 例如:
class Base {
public Base() {
test();
}
public void test() {
syso(
"XXXX");
}
}
public class Sub extends Base {
private String name;
public void test() {
syso(
"XXX"+name);
}
public static void main(String args[]){
Sub s =
new Sub();
}
}
发生空指针异常。