Java中没有抽象方法的抽象类的存在意义

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/caigen0001/article/details/100551252

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

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.通过子类继承,可以调用抽象类的构造方法

猜你喜欢

转载自blog.csdn.net/caigen0001/article/details/100551252