上题使用java方法
时间: 2024-07-09 22:00:48 浏览: 67
Java17道面试题及答案
在Java中,实现多态主要涉及到继承和接口,以下是如何使用这些机制来创建多态的例子:
1. **虚函数(Virtual Functions)**:
在Java中,如果你有一个基类`BaseClass`,并希望其派生类能够覆盖基类的方法,你可以声明这个方法为`abstract`或`virtual`(Java没有`virtual`关键字,但通过使用`final`修饰符来标识)。例如:
```java
abstract class BaseClass {
public void baseMethod() {
// 基本实现
}
}
class DerivedClass extends BaseClass {
@Override
public void baseMethod() {
// 派生类的实现
}
}
```
调用`baseMethod()`时,会根据对象的实际类型调用对应的方法。
2. **纯虚函数(Pure Virtual Functions/Abstract Methods)**:
Java中,如果一个抽象类没有提供任何非抽象方法的实现,那么这个类就被称为抽象类。它中的所有方法都是默认为`abstract`的,包括构造函数。例如:
```java
abstract class AbstractBaseClass {
public abstract void abstractMethod();
}
```
为了实例化这样的抽象类,你需要创建一个实现了所有抽象方法的具体子类。
3. **虚析构函数(Virtual Destructors)**:
Java不支持显式指定虚析构函数,但Java的垃圾回收机制会自动调用每个对象类型的析构函数。当你创建一个派生类的对象并将其赋值给基类引用时,基类的析构函数会先被调用,然后才是派生类的析构函数。这实际上是间接实现的多态性。
阅读全文