Java中子类方法的重写为什么不用调用父类
时间: 2023-09-29 19:11:35 浏览: 159
方法?
Java中子类方法的重写不需要调用父类方法是因为:
1. 子类重写父类方法时,已经完全覆盖了父类方法的功能,所以不需要再调用父类方法。
2. 在Java中,子类可以直接访问父类的非私有成员,所以如果子类需要使用父类方法的某些功能,可以直接在子类方法中调用父类的非私有方法。
3. 如果子类需要在重写的方法中调用父类方法,可以使用super关键字来调用父类方法。但是,调用父类方法可能会破坏子类的封装性,所以应该谨慎使用。
相关问题
java中子类如何调用父类封装的方法
在Java中,子类可以通过super关键字来调用父类的封装方法。具体来说,可以使用super.方法名()来调用父类的方法,例如:
```
public class ParentClass {
private int num;
public void setNum(int num) {
this.num = num;
}
}
public class ChildClass extends ParentClass {
public void setNum(int num) {
super.setNum(num);
}
}
```
在上面的例子中,ChildClass继承了ParentClass,并且重写了setNum方法。在重写的方法中,通过super.setNum(num)调用了父类的setNum方法,实现了调用父类封装方法的目的。
java中子类要调用父类的方法必须用super关键字吗
在Java中,子类要调用父类的方法并不一定必须使用`super`关键字。如果子类中没有重写父类中的方法,那么可以直接通过子类对象来调用父类中的方法。例如:
```java
class Parent {
public void method() {
System.out.println("Parent method");
}
}
class Child extends Parent {
// 子类中没有重写Parent类的method方法
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.method(); // 直接调用父类中的method方法
}
}
```
此时,由于子类中没有重写父类的`method`方法,因此可以直接通过子类对象来调用父类中的`method`方法,而不需要使用`super`关键字。
但是,如果子类中重写了父类中的方法,那么在子类中调用父类中的该方法时,就需要使用`super`关键字来显式地调用父类的方法。
阅读全文