Java---抽象类
在Java中,我们使用abstract class来创建一个抽象类。抽象类是不能被实例化的,即你不能创建一个抽象类的对象。它的主要目的是提供其他类可以继承的通用模板。在抽象类中,你可以有抽象和非抽象方法。
抽象方法是没有方法体的,即方法只有声明,没有实现。而非抽象方法则包括了方法体。
以下是一个简单的Java抽象类的例子:
abstract class Animal {
// 抽象方法
public abstract void eat();
// 非抽象方法
public void sleep() {
System.out.println("Animals sleep");
}
}
class Dog extends Animal {
// 必须实现eat方法
@Override
public void eat() {
System.out.println("Dog eats");
}
}
public class TestAbstract {
public static void main(String args[]) {
Dog d = new Dog();
d.eat(); // 调用Dog类的eat方法
d.sleep(); // 调用Animal类的sleep方法
}
}
在这个例子中,Animal是一个抽象类,它有一个抽象方法eat()和一个非抽象方法sleep()。Dog类继承了Animal类,并且必须实现eat()方法。在main方法中,我们创建了一个Dog类的对象,并且调用了它的eat()和sleep()方法。
注意:如果一个类继承了一个抽象类,但没有实现所有的抽象方法,那么这个类也必须被声明为抽象类。
评论已关闭