解释以下程序class E{ void display();{ System.out.printIn("2");} void print(){ System.out.printIn("2"); } }class F extends E{ void display(){ System.out.printIn("3");} } public class Even{ public static void main(String[] args){ E e1=new E(); e1.diaplay(); e1.print(); E e2=new F(); e2.display(); e2.print(); }}
时间: 2023-12-16 11:04:50 浏览: 55
程序有一些语法错误,应该是:
```java
class E {
void display() {
System.out.println("2");
}
void print() {
System.out.println("2");
}
}
class F extends E {
void display() {
System.out.println("3");
}
}
public class Even {
public static void main(String[] args) {
E e1 = new E();
e1.display();
e1.print();
E e2 = new F();
e2.display();
e2.print();
}
}
```
这个程序定义了两个类 `E` 和 `F`,以及一个包含 `main` 方法的类 `Even`。类 `E` 中有两个方法:`display` 和 `print`,分别输出字符串 "2"。类 `F` 继承自类 `E`,并重写了 `display` 方法,输出字符串 "3"。类 `Even` 中有一个 `main` 方法,它创建了一个 `E` 类型的对象 `e1`,先调用了 `display` 方法输出 "2",再调用了 `print` 方法输出 "2"。然后创建了一个 `F` 类型的对象 `e2`,先调用了 `display` 方法输出 "3",再调用了 `print` 方法输出 "2"。这里的 `display` 方法表现出了多态的特性,因为 `e2` 虽然是 `E` 类型的引用,但是实际上调用的是 `F` 类型的 `display` 方法。
阅读全文