创建一个包含两个方法的基类。在第一个方法中可以调用第二个方法。然后产生一个继承自该基类的导出类,且覆盖基类中的第二个方法。为该导出类创建一个对象,将它向上转型到基类型并调用第一个方法,解释发生的情况。
时间: 2024-03-10 14:46:24 浏览: 76
好的,这是一个Java的继承和多态的经典例子,下面是一个示例代码,帮助您理解这个问题:
```java
public class BaseClass {
public void method1() {
System.out.println("BaseClass method1");
method2();
}
public void method2() {
System.out.println("BaseClass method2");
}
}
public class DerivedClass extends BaseClass {
@Override
public void method2() {
System.out.println("DerivedClass method2");
}
}
public class Main {
public static void main(String[] args) {
BaseClass obj = new DerivedClass();
obj.method1();
}
}
```
在这个例子中,我们创建了一个基类BaseClass,其中包含了两个方法method1和method2。在method1中调用了method2。然后我们创建了一个继承自BaseClass的导出类DerivedClass,并覆盖了method2方法。
在主函数中,我们创建了一个DerivedClass对象,并将它向上转型到BaseClass类型。然后我们调用了BaseClass的method1方法,由于多态的特性,实际执行的是DerivedClass中覆盖的method2方法,输出了“DerivedClass method2”的结果。
输出结果为:
```
BaseClass method1
DerivedClass method2
```
这就是继承和多态的应用。希望对您有所帮助。
阅读全文