Java中沒有抽象方法的抽象類的存在意義

含有抽象方法的類一定是抽象類,但是抽象類不一定含有抽象方法。

 

Person類(沒有抽象方法的抽象類):

public abstract class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

Student類(子類):

public class Student extends Person {
//    Person person = new Person();//抽象類不能new實例化

    public Student() { //通過子類繼承,調用抽象父類的無參構造函數
//        super();
    }

    public Student(String name, int age) {//通過子類繼承,調用抽象父類的有參構造函數
        super(name, age);
    }

}

測試類:

public class AbstractDemo {
    public static void main(String[] args) {
        Student student = new Student("張三", 24);
        System.out.println(student.getName());
        student.setAge(20);
        System.out.println(student.getAge());
    }

}

 

總結:

沒有抽象方法的抽象類的作用:

1.抽象類不能new實例化

2.抽象類可以有構造方法,但是構造方法不能是抽象方法

3.通過子類繼承,可以調用抽象類的構造方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章