1、“继承”使用得当,会使整个程序架构具有一定的弹性,在程序复用一些已经定义完善的类不仅可以减少开发周期,也能提高软件的可维护性和可扩展性;
2、子类可以继承父类原有的属性和方法,也可以增加原来父类所不具备的属性和方法,或者直接重写父类中的某些方法;
3、在Java中使用关键字extends来标识两个类的继承关系;
4、在子类中可以连同初始化父类构造方法来完成子类初始化操作,既可以在子类的构造方法中使用super()语句调用父类的构造方法,也可以在子类中使用super."父类成员方法"调用父类的成员方法等,但子类没有权限去调用父类中权限修饰为private的方法;
5、“继承”并不只是扩展父类的功能,还可以重写(只保留父类的成员方法名称)父类的成员方法;
6、重写父类方法时,修改方法的修饰权限只能从小变大(private->protected->public);
7、子类重写父类的方法还可以修改方法的返回值类型(条件:重写的返回值类型是父类中同一方法返回值类型的子类);
8、实例化子类对象时首先要实例化父类对象,然后再实例化子类对象,所以在子类构造方法访问父类的构造方法之前,父类已经完成实例化操作(注意:被自动调用的是父类无参构造方法,有参构造方法只能用super关键字来调用);
实例:
创建Parent类:
public class Parent { //父类 Parent() { System.out.println("调用父类的parent()构造方法"); } }创建SubParent类:
public class SubParent extends Parent { //继承Parent类 SubParent() { System.out.println("调用子类的SubParent()构造方法"); } }创建Subroutine类:
public class Subroutine extends SubParent { //继承SubParent类 Subroutine() { System.out.println("调用子类的Subroutine()构造方法"); } public static void main(String[] args) { new Subroutine(); } }运行结果:
Ps:Java中,一切皆为对象,在“继承”时,创建一个子类对象,将包含一个父类子对象~