什么是继承
继承是java中实现代码重用的重要手段之一。java中只支持单根继承,也就是一个类只能有一个直接父类。
如何使用继承
1.编写父类:
[访问修饰符] class Father {
//公共的属性和方法
}
2.编写子类,继承父类
[访问修饰符] class Dog extends Father {
//子类特有的属性和方法
}
子类访问父类成员
1)使用super关键字,super代表父类对象
2)在子类构造方法中调用且必须是第一句
3)不可以访问父类中定义为private的属性和方法
访问父类构造方法
super();
super(name);
访问父类属性
super.name;
访问父类方法
super.print();
小结:
1.super关键字来访问父类的成员
2.super只能出现在子类的方法和构造方法中
3.super调用构造方法时,只能是第一句
4.super不能访问父类的private成员
继承条件下的构造方法:
继承条件下构造方法的调用规则
子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法
系统默认调用父类的无参构造方法
子类构造方法通过super显式调用父类的有参构造方法 执行父类相应构造方法,而不执行父类无参构造方法
子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则
子类继承父类的什么?
继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里 继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里。子类不能继承父类的全部成员,列如:private成员,子类父类不同包,使用默认访问权限的成员,构造方法。(访问修饰符protected 可以修饰属性和方法 本类、同包、子类可以访问),继承是代码重用的一中方式(将子类共有的属性和行为放到父类中)。