抽象类

抽象类概述: 在java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类

 

抽象类的练习

 

抽象类的特点

抽象类特点总结: 抽象类不能直接使用,但可以参照多态的方式通过子类对象来实例化 (简单理解就是新建一个子类(使用继承),在子类里面重写父类的方法) 如果父类是抽象类,其继承的子类也会变成抽象类

第一个特点: 抽象类和抽象方法必须使用abstract关键字 第二个特点: 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类 第三个特点: 抽象类不能实例化(即不能为抽象类创建对象)。解决方法:参照多态的方式,通过给子类对象实例化,间接就给不能实例化的父类对象实例化了,这叫抽象类多态 第四个特点: 抽象类的子类要么重写抽象类中的所有抽象方法,要么这个抽象类的子类就会变成抽象类(或理解为这个抽象类的子类本身就是抽象类)

 

抽象类特点的练习

 

抽象类的成员特点

成员变量: 1、可以是常量 2、也可以是变量

构造方法: 1、有构造方法,但是不能实例化 2、构造方法的作用是用于子类访问父类数据的初始化

成员方法: 1、抽象方法的作用是限定子类必须完成某些动作 2、非抽象方法的作用是提供代码的复用性

 

抽象类成员特点的练习

 

猫和狗_抽象版类

需求: 请采用抽象类的思想实现猫和狗案例,并测试

思路:

一、定义动物类 1、成员变量: 姓名,年龄 2、构造方法: 无参,带参 3、成员方法: get和set方法,吃饭()的抽象方法

二、定义猫类,继承动物类 1、构造方法: 无参,带参 2、成员方法: 重写吃饭()

三、定义狗类,继承动物类 1、构造方法: 无参,带参 2、成员方法: 重写吃饭()

四、定义测试类,并测试

 

猫和狗_抽象版类的练习