什么是继承?
继承是从已有的类中派生出新类,新的类能吸收已有类的数据属性和方法,并能扩展新的能力。
继承是面向对象的三大特征之一。(三大特征:封装,继承,多态。)
继承的语法格式:
修饰符 class 子类 extends 父类{ }。例如:public class EnglishBook extends Book{ }.
继承的好处有哪些?
1. 继承提高了软件的复用性。
2. 继承简化了人们对事物的认识和描述,能清晰体现类间的层次结构关系。
3. 继承降低了程序的耦合性,增加了程序的易维护性。
继承的特点:
继承是单继承,即一个子类只有一个父类。
继承关系具有传递性。
子类可以直接访问父类中的非私有的属性和行为。
方法的重写(附代码)
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
方法重写的规则:
1. 方法名相同。
2. 形参列表相同。
3. 子类的方法的返回值 类型应该比父类的返回值类型更小或相等。
4. 子类方法抛出的异常类应该比父类抛出的异常类更小或相等。
5. 子类方法的访问权限应该比父类方法的访问权限更大或相等。
父类:
public class WJL {
public void makeMoney() {
System.out.println("我会盖房子,赚了100亿");
}
}
子类:
public class WSC extends WJL{
public void makeMoney() {
super.makeMoney();
System.out.println("我会玩游戏,赚了10亿");
}
}
测试类:
public class Test {
public static void main(String[] args) {
WSC wsc = new WSC();
wsc.makeMoney();
}
}
其他
Super关键字:
a. super和this的用法很像。
b. this代表本类对象的引用。
c. super代表父类的内存空间的标识。
d. 当子父类出现同名成员时,可以用super进行区分。
子类要调用父类的构造方法或者成员方法时,可以用super语句。