java基础概念22-抽象类

一、抽象类的引入

1-1、封装

问题:javabean越来越多。重复的内容越多——继承

1-2、继承

二、抽象类、抽象方法

一个方法抽取到父类中,不确定方法体——抽象方法

定义了抽象方法的类——抽象类。

在Java中,抽象类是一种特殊的类,它不能被实例化(即不能直接创建对象)。 

2-1、定义抽象类

需要使用abstract关键字来声明一个类。

一个抽象类可以包含抽象方法和非抽象方法。抽象方法是没有方法体的方法,它也必须用abstract关键字来声明,且必须在子类中实现(除非子类也是抽象类)。

abstract class Animal {  
    // 抽象方法  
    abstract void eat();  
  
    // 非抽象方法  
    void sleep() {  
        System.out.println("Animal is sleeping");  
    }  
}

抽象方法必须以分号;结束。

【注意】:

抽象类可以有构造方法! 作用:当创建子类对象时,给属性赋值。(给所有子类共有的属性赋值)

2-2、小结