java抽象类

抽象类:拥有抽象方法类,必须定义成抽象类,抽象类必须用abstract修饰。

抽象方法:没有方法体,只有方法签名,必须用abstact修饰。

子类只会用自己重写的功能,那么父类的该功能就可以定义为抽象方法。

抽象类是为了被子类继承,约束子类要重写抽象方法。

一个类继承了抽象类,必须重写抽象类的全部方法,否则这个类也必须定义为抽象类。

抽象类得到了拥有抽象方法的能力,但是失去了创建对象的能力。


抽象类作为类一定有构造器,而且抽象类必须有构造器,提供给子类创建对象,调用父类构造器使用,

抽象类虽然有构造器,但是抽象类不能创建对象。

package test01;

public class AbstractTest {
    public static void main(String[] args) {
        Dog dog =  new Dog();
        dog.run();
    }
}
class Dog extends Animal{//子类Dog继承了父类Animal
    @Override
    public void run() {
        System.out.println("Dog跑得快");
    }
}
abstract class Animal{
    //抽象方法:没有方法体,只有方法签名,必须用abstract修饰。
    //拥有抽象方法的类必须定义为抽象类。
    //子类要完成这个功能,但是由自己重写完成。
    public abstract void run();
}

java抽象类(图1)

您可能还会对下面的文章感兴趣: