Java-面向对象-抽象类与抽象方法

Java-面向对象-抽象类与抽象方法

  • 抽象类的作用
    • 在抽象类中,定义抽象方法,目的就是为了给子类定义通用模板,先重写父类的抽象方法,然后扩展自己的内容
    • 抽象类避免子类设计的随意性,子类设计更加严格
  • 抽象类与抽象方法的特点
    • 抽象类与抽象方法都需要用abstract进行修饰
    • 一个抽象类中可以有0个或者多个抽象方法
    • 但是有抽象方法,就必须是抽象类,不然代码报错
    • 抽象类可以被其他类继承
    • 继承自抽象类的类,必须定义为抽象类,或者必须重写父类的所有抽象方法不然代码报错
    • 一般不会把子类定义为抽象类
    • 抽象类不可以创建对象
public abstract class Person {
    // 一个类中,如果有一个方法是抽象方法,那么这个类也要变成一个抽象类
    // 在一个类中,会有一类方法,子类对这个方法非常满意,无需重写
    public void eat(){
        System.out.println("一顿不吃饿得慌");
    }
    // 在一个类中,会有一个方法,子类对这个方法永远不满意,会对方法进行重写
    // 一个方法的方法体去掉,被abstract修饰,那么这个方法就是抽象方法
    public abstract void say();
}
class Strudent extends Person{
    @Override
    public void say() {
        System.out.println("全世界都在说普通话");
    }
}
class Test{
    // 这是main方法,是实现程序主要逻辑
    public static void main(String[] args) {
        // Person p = new Person(); // 抽象类不能被创建对象
    }
}
posted @ 2020-12-09 22:42  殃奕  阅读(118)  评论(0)    收藏  举报