网站开发公司源码河南郑州最新事件
文章目录
- 一、super
- 1.构造方法
- 2.属性
- 3.方法
- 二、规则
- 三、继承权限
继承
继承是Java中实现代码重用的重要手段之一。使用继承,可以减少代码量,方便修改代码。Java中只支持单根继承,即一个类只能有一个直接父类。
继承使用关键字extends,让一个类和另一个类建立起父子关系。
// 编写父类
[访问修饰符] class Pet { //公共的属性和方法
}// 编写子类,继承父类
[访问修饰符] class Dog extends Pet { //子类特有的属性和方法
}
符合is-a关系的设计使用继承
一、super
子类访问父类成员使用super 关键字,super 代表父类对象。
1.构造方法
访问父类构造方法,在子类构造方法中调用且必须是第一句
class Parent {Parent(int x) {System.out.println("Parent constructor with x: " + x);}
}
class Child extends Parent {Child(int x) {super(x); // 调用父类构造函数System.out.println("Child constructor");}
}
2.属性
访问父类属性,不能访问父类中定义为private 的属性
class Parent {int num = 10;
}
class Child extends Parent {int num = 20;void printNum() {System.out.println(num); // 子类的numSystem.out.println(super.num); // 使用super访问父类的num}
}
3.方法
访问父类方法,不能访问父类中定义为private 的方法
class Parent {void display() {System.out.println("Display from Parent");}
}
class Child extends Parent {void display() { super.display() // 调用父类的display方法System.out.println("Display from Child");}
}
二、规则
继承条件下构造方法的调用规则
- 系统默认调用父类的无参构造方法
- 子类构造方法通过super 显式调用父类的有参构造方法。执行父类相应构造方法,而不执行父类无参构造方法
- 子类构造方法通过this 显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则
三、继承权限
-
继承public 和protected 修饰的属性和方法,不管子类和父类是否在同一个包里
-
继承默认权限修饰符 修饰的属性和方法,但子类和父类必须在同一个包里
-
不能被继承的父类成员:private成员;子类与父类不在同包,使用默认访问权限的成员;构造方法