黑马程序员技术交流社区

标题: 抽象类 [打印本页]

作者: GavinZ    时间: 2016-7-27 00:08
标题: 抽象类
(1)把多个共性的东西提取到一个类中,这是继承的做法。
           但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体。
           也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样。
           所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。
           而一个没有具体的方法体的方法是抽象的方法。
           在一个类中如果有抽象方法,该类必须定义为抽象类。
        (2)抽象类的特点
                A:抽象类和抽象方法必须用关键字abstract修饰
                B:抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类
                C:抽象类不能实例化
                D:抽象类的子类
                        a:是一个抽象类。
                        b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。
        (3)抽象类的成员特点:
                A:成员变量
                        有变量,有常量
                B:构造方法
                        有构造方法
                C:成员方法
                        有抽象,有非抽象
        (4)抽象类的练习
                A:猫狗案例练习
                B:老师案例练习
                C:学生案例练习
                D:员工案例练习
        (5)抽象类的几个小问题
                A:抽象类有构造方法,不能实例化,那么构造方法有什么用?
                        用于子类访问父类数据的初始化
                B:一个类如果没有抽象方法,却定义为了抽象类,有什么用?
                        为了不让创建对象
                C:abstract不能和哪些关键字共存
                        a:final        冲突
                        b:private 冲突
                        c:static 无意义

作者: showJiang    时间: 2016-7-27 01:08
final修饰的方法不能被重写,而abstract修饰的方法必须被重写
作者: showJiang    时间: 2016-7-27 01:10
private修饰的方法不能被继承,而abstract修饰方法必须被重写
作者: showJiang    时间: 2016-7-27 01:11
static修饰方法可以被类名.调用,而调用一个没有方法体的方法没有意义




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2