1 public class DemoClass4Abstract {
2 public static void main(String[] args) {
3 //TODO 抽象类和抽象方法
4
5 //抽象类:不完整的类,就是抽象类 abstract class 类名 因为不完成,所以无法直接构造对象
6 //抽象方法:只有声明,没有实现的方法 abstract 返回值类型 方法名(参数)
7
8 //分析问题:对象(具体) -> 类(抽象)
9 //编写代码:类(抽象) -> 对象(具体)
10
11 //如果一个雷总含有抽象方法,那么这个类就是抽象类
12 //如果一个类是抽象类,它的方法不一定是抽象方法,也可以是具体方法
13 //抽象类无法直接构建对象,但是可以通过子类间接的构建对象
14 //如果抽象类中含有抽象方法,那么子类继承抽象类,必须重写抽象方法,将方法补充完整
15
16 //abstract 关键字不能和final同时使用,类和方法里都不行
17 User31 user31 = new User31();
18 user31.sleep();
19 user31.eat();
20 }
21 }
22
23 abstract class User3{
24 public abstract void eat();
25
26 public void sleep(){
27 System.out.println("abstract类可以写具体方法");
28 }
29 }
30
31 class User31 extends User3{
32 public void eat(){
33 System.out.println("abstract只能通过继承才能实例化");
34 }
35 }