如何在子类中声明父类成员
时间: 2024-01-27 18:46:40 浏览: 139
在子类中声明父类成员,可以通过以下方式实现:
1. 使用 super 关键字调用父类的构造函数,将父类成员初始化到子类中。
2. 在子类中通过继承来获得父类的成员变量和方法,可以直接使用。
3. 在子类中可以通过 super 关键字来访问父类的成员变量和方法,如 super.成员变量名 或 super.方法名。
4. 如果子类中的成员变量与父类中的成员变量同名,可以使用 super.成员变量名 来访问父类中的成员变量。
示例代码如下:
```
class Parent {
public int x = 10;
public void print() {
System.out.println("Parent: " + x);
}
}
class Child extends Parent {
public int y = 20;
public void print() {
super.print(); // 调用父类的 print() 方法
System.out.println("Child: " + y);
}
}
public class Main {
public static void main(String[] args) {
Child c = new Child();
c.print(); // 输出:Parent: 10 Child: 20
}
}
```
相关问题
如何在子类中声明父类对象
在子类中声明父类对象需要使用super关键字。在Java中,子类可以通过super关键字调用父类的构造方法和成员方法。下面是一个示例代码:
```
public class ParentClass {
// 父类的成员变量和方法
}
public class ChildClass extends ParentClass {
private ParentClass parent; // 声明父类对象
public ChildClass() {
super(); // 调用父类的构造方法
parent = new ParentClass(); // 创建父类对象
}
// 子类的成员变量和方法
}
```
在子类中声明父类对象时,需要在子类的构造方法中使用super()调用父类的构造方法,并且使用new关键字创建父类对象。这样就可以在子类中使用父类的成员变量和方法了。
子类继承了父类,子类便拥有了父类的所有成员,因此父类中的成员变量和方法可以直接在子类中使用是错的吗
不完全正确。子类确实继承了父类的成员变量和方法,但是如果父类中的成员变量和方法被声明为 private,那么子类就无法直接使用它们。除此之外,如果父类的成员变量和方法被声明为 protected 或 public,那么子类就可以直接使用它们。但是需要注意的是,如果父类中的方法被子类重写了(即子类中定义了与父类中同名的方法),那么在子类中使用这个方法时,实际上调用的是子类中的方法,而不是父类中的方法。
阅读全文