在面向对象编程中,子类可以通过继承机制获取父类的所有公共元素(包括属性和方法)。以下是一些基础概念和相关信息:
class Parent {
public int value = 10;
public void display() {
System.out.println("Parent display");
}
}
class Child extends Parent {
public void display() {
super.display(); // 调用父类的display方法
System.out.println("Child display");
}
public static void main(String[] args) {
Child child = new Child();
child.display(); // 输出: Parent display \n Child display
System.out.println(child.value); // 输出: 10
}
}
原因:私有成员只能在定义它们的类内部访问。
解决方法:将需要被子类访问的成员改为protected
或public
。
class Parent {
protected int value = 10; // 改为protected
}
原因:子类构造函数默认调用父类的无参构造函数,若父类无无参构造函数则需显式调用。
解决方法:使用super()
显式调用父类构造函数。
class Parent {
public Parent(int x) {
// 父类有参构造函数
}
}
class Child extends Parent {
public Child(int x) {
super(x); // 显式调用父类有参构造函数
}
}
通过以上方法和示例,可以有效管理和使用继承关系中的元素。
领取专属 10元无门槛券
手把手带您无忧上云