继承是为了重用父类代码。两个类若存在is-a的关系就可以使用继承。
继承关键字:extends
被继承的类称为父类,又叫基类、超类;继承的类称为子类,派生类
Java中继承的特点:在java中只存在单继承,无法实现多继承,但是可以实现逐级继承。
继承的具体表现:
1)父类有的,子类一定有(除了私有的);
2)父类没有的,子类可以有;
3)当父类有的,此时子类可以改(即可以重写父类的属性和方法)。
方法的重写:
1)只发生在继承中;
2)在子类中的方法声明定义与父类完全一致,只有方法体不同,则称为方法的重写。
方法重写与方法重载的区别:
1)方法重写针对的是父子两个类,方法重载针对的是一个类;
2)方法重写只发生在继承中。
继承的核心:
当子类继承了父类后,如果创建子类对象,此时会首先创建的是父类对象,调用父类中不带参的构造方法;然后再创建子类对象,调用子类的构造方法。原因是存在“super();”方法调用父类方法,在任何一个方法中,super的语句必须放在首句。如果父类中不存在不带参的构造方法,则子类需要显示调用:“super(参数);”
继承的注意事项:
1)在java中只存在单继承,无法实现多继承,但是可以实现逐级继承;
2)当子类继承了父类,创建子类对象时,会首先创建的是父类对象,调用父类中不带参的构造方法,然后再创建子类对象,调用子类的构造方法;
3)在任何一个方法中,super语句都必须放在首句。如果父类中不存在不带参的构造方法,则子类需要进行显示调用。