java抽象类简介说明


转自:

http://www.java265.com/JavaCourse/202206/3757.html

下文笔者讲述java抽象类的简介说明,如下所示

java抽象类的简介

抽象类可用于修饰类,修饰成员方法
抽象类修饰可使用abstract关键字

例:
 修饰符    abstract    class  类名{
     修饰符    abstract   返回值类型   方法名称(形参列表)
}

注意事项:
   1.当一个方法被abstract修饰,则类必须使用abstract修饰
   2.当一个方法被abstract修饰,不能包含方法体
//抽象类由abstract修饰
public abstract class User{
//抽象方法由abstract修饰,不能有代码体
    public abstract void run();
}

abstract使用场景

 1.抽象类常为不完整的类设计图
 一般作为父类,让子类来继承
 
 2.当父类抽象出子类行为
   但是此时由于每个子类的行为不同,所以需使用抽象方法,让具体的实现由子类完成 

抽象类特点

普通类拥有的,抽象类同样拥有
抽象类中可以没有抽象方法,但是由抽象方法就必须有抽象类
 一个类继承了抽象类:必须重写完抽象类的全部抽象方法,否则这个类也必须定义为抽象类。
不能用abstract修饰变量、构造器、代码块

抽象类实现的模板方法

例:创建抽象类,具体的实现类由子类实现

public abstract class User {
    public void eat(){
        System.out.println("start");
        this.run();
        System.out.println("end");
    }
    public abstract void run();
}
//子类继承抽象类,并对run()重写
public class MainTest extends User {
    @Override
    public void run() {
        System.out.println("run");
    }
}
//main函数
MainTest p = new MainTest();
p.eat();