java抽象类实例化
时间: 2023-10-12 17:07:49 浏览: 91
Java中的抽象类不能直接实例化,因为抽象类是一种不完整的类,它只能被继承而不可以被实例化。抽象类可以包含抽象方法和非抽象方法,并且可以有构造方法。但是,如果一个类中存在至少一个抽象方法,那么该类必须声明为抽象类。
要实例化一个抽象类,需要创建一个继承自该抽象类的子类,并实现其中的抽象方法。通过子类的实例化对象,就可以调用抽象类中的非抽象方法和已经实现的方法。
下面是一个示例代码:
```java
abstract class Animal {
// 抽象方法
public abstract void sound();
// 非抽象方法
public void sleep() {
System.out.println("Animal is sleeping");
}
}
class Dog extends Animal {
// 实现抽象方法
public void sound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
// 创建子类对象
Dog dog = new Dog();
dog.sound(); // 调用实现的抽象方法
dog.sleep(); // 调用继承的非抽象方法
}
}
```
在上面的代码中,Animal是一个抽象类,它包含了一个抽象方法sound()和一个非抽象方法sleep()。Dog是Animal的子类,它必须实现sound()方法。在main()方法中,我们实例化了Dog类的一个对象,并调用了sound()和sleep()方法。
阅读全文