在java中,定义一个父类和一个子类,在子类中定义一个方法覆盖(要求有形参)并分别使用父类和子类生成一个对象,调用该方法
时间: 2024-10-15 13:29:04 浏览: 18
Java中关于子类覆盖父类的抛出异常问题
5星 · 资源好评率100%
在Java中,如果你有一个父类`ParentClass`,例如:
```java
public class ParentClass {
public void defaultMethod() {
System.out.println("这是父类的默认方法");
}
}
```
然后你定义了一个子类`ChildClass`,它覆盖了父类的某个方法,并添加了形参:
```java
public class ChildClass extends ParentClass {
@Override
public void overrideMethod(String input) { // 覆盖父类的defaultMethod并添加形参
System.out.println("子类对方法进行了重写:" + input);
}
}
```
现在你可以创建`ParentClass`的对象和`ChildClass`的对象,然后分别调用它们的方法:
```java
// 创建父类对象
ParentClass parent = new ParentClass();
parent.defaultMethod(); // 输出 "这是父类的默认方法"
// 创建子类对象,并通过父类引用调用重写后的方法
ChildClass child = new ChildClass();
parent.overrideMethod("这是一个输入"); // 这里会调用子类的overrideMethod,因为child实际上是一个ChildClass的实例
```
当你通过`parent`调用`overrideMethod`,尽管它是子类的方法,但由于隐式向上转型(Upcasting),实际上会调用的是子类的版本。
阅读全文