java子类访问父类成员
时间: 2023-10-03 10:02:56 浏览: 40
子类可以通过继承得到父类的成员,包括成员变量和成员方法。在子类中,可以使用 super 关键字来访问父类的成员。
访问父类的成员变量:
父类的成员变量可以通过 super 关键字来访问。例如,如果父类中有一个成员变量 name,子类可以通过 super.name 来访问该成员变量。
访问父类的成员方法:
父类的成员方法可以通过 super 关键字来访问。例如,如果父类中有一个成员方法 getName,子类可以通过 super.getName() 来调用该方法。
需要注意的是,如果子类中有与父类同名的成员变量或成员方法,则子类的成员会覆盖父类的成员。在这种情况下,如果需要访问父类的成员,仍然可以使用 super 关键字。
相关问题
java子类访问父类成员演示程序
下面是一个简单的 Java 程序,演示了子类如何访问父类的成员变量和方法:
```java
// 父类
class Superclass {
int num = 10;
public void display() {
System.out.println("This is the display method of superclass");
}
}
// 子类
class Subclass extends Superclass {
int num = 20;
public void display() {
System.out.println("This is the display method of subclass");
}
public void myMethod() {
Subclass sub = new Subclass();
sub.display();
super.display();
System.out.println("Value of the variable named num in subclass:" + sub.num);
System.out.println("Value of the variable named num in superclass:" + super.num);
}
}
// 测试程序
public class Main {
public static void main(String[] args) {
Subclass obj = new Subclass();
obj.myMethod();
}
}
```
输出结果为:
```
This is the display method of subclass
This is the display method of superclass
Value of the variable named num in subclass:20
Value of the variable named num in superclass:10
```
在子类中,我们可以使用 `super` 关键字来访问父类的成员变量和方法。在上面的 `myMethod` 方法中,我们创建了一个子类的实例 `sub`,并调用了它的 `display` 方法和它的 `num` 变量。接着我们使用 `super` 关键字调用了父类的 `display` 方法和它的 `num` 变量。
java 子类修改父类成员变量的类型
Java中的子类不能修改父类的成员变量类型,因为Java中的继承是一种"is-a"的关系,也就是说子类是父类的一种类型,而类型是由其定义确定的。如果子类修改了父类的成员变量类型,那么就不再是父类的类型,继承关系也就失效了。
但是,子类可以通过继承和覆写父类的方法来修改父类的行为。比如,可以覆写父类的方法来改变方法的实现,或者可以通过父类的方法来访问父类的成员变量。
另外,如果需要修改父类的成员变量类型,可以考虑使用组合或者接口来实现。组合是指在子类中定义一个父类对象作为子类的成员变量,然后通过该对象来访问父类的成员变量和方法。接口是指定义一个接口,然后让父类实现该接口,子类再实现该接口并提供不同的实现。这种方式可以实现修改父类的行为,但是需要注意接口的设计和实现。