4.7 抽象类概述
1:抽象类定义:
1:抽象类就是从多个事物中将共性的,本质内容抽取出来。
2:抽象类
Java中定义没有方法体的方法,该方法的具体实现由子类完成,改方法称为抽象方法,包括抽象方法的类就是抽象类
3:抽象方法的由来:
1:多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法
格式:修饰符abstract 返回值类型 函数名(参数列表)
2:抽象方法只有声明方法,并没有方法体,定义在抽象类中。
3:抽象类可以被实例化,也就是不可以用new创建对象。原因如下:
1:抽象类是具体事物抽取出来的,本身是不具备的,没有对应的实例。
2:而且抽象类即使创建了对象,调用抽象方法也没有意义
4:抽象类通过其子实例化,而子实例化要覆盖抽象对象类中没有的抽象方法后才可以创建对象,否则该子类也是抽象
抽象类相关问题:
1:问:抽象类中是否有构造函数? 答:(有)
2:问:抽象关键字abstract不可以和那些关键字共存? 答:(final,抽象方法不能喝private)
3:抽象类中可不可以没有抽象方法?
可以的,但是很少见,目的就是不让该类创建对象.AWT的适配器对象就类。通常这个类中的方法有方法体,但是却没有内容。
抽象类总结:抽象类和普通类比较,除了多了一个抽象方法之外和不能实例之外没变什么不同
1:抽象类定义:
1:抽象类就是从多个事物中将共性的,本质内容抽取出来。
2:抽象类
Java中定义没有方法体的方法,该方法的具体实现由子类完成,改方法称为抽象方法,包括抽象方法的类就是抽象类
3:抽象方法的由来:
1:多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的方法称为抽象方法
注意:
格式:修饰符abstract 返回值类型 函数名(参数列表)
2:抽象方法只有声明方法,并没有方法体,定义在抽象类中。
3:抽象类可以被实例化,也就是不可以用new创建对象。原因如下:
1:抽象类是具体事物抽取出来的,本身是不具备的,没有对应的实例。
2:而且抽象类即使创建了对象,调用抽象方法也没有意义
4:抽象类通过其子实例化,而子实例化要覆盖抽象对象类中没有的抽象方法后才可以创建对象,否则该子类也是抽象
抽象类相关问题:
1:问:抽象类中是否有构造函数? 答:(有)
2:问:抽象关键字abstract不可以和那些关键字共存? 答:(final,抽象方法不能喝private)
3:抽象类中可不可以没有抽象方法?
可以的,但是很少见,目的就是不让该类创建对象.AWT的适配器对象就类。通常这个类中的方法有方法体,但是却没有内容。
抽象类总结:抽象类和普通类比较,除了多了一个抽象方法之外和不能实例之外没变什么不同