java中抽象类的学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33322074/article/details/85937422

一、抽象类的产生

抽象类的产生和继承有关,和父类有关,父类就是子类的共性抽取出来的。所谓的抽象,就是不是一种实物,比如人、猫、狗抽象出来是动物,人是实物、对象,猫是实物、对象。但是动物就不是实物和对象。动物就是抽象出来的。因此抽象类就是从实物中抽取出来的共性组成的类。

二、abstract关键字

抽象的方法是没有主体的方法,必须使用关键字abstract修饰。抽象的方法必须存在于抽象类中,而类必须用abstract修饰。 

这就是抽象类的定义。

三、抽象类和普通类的区别

1、抽象类不能实例化,要清楚什么叫抽象,抽象就是不是对象,抽象出来的东西就是没有实体的东西,无法形成实体的东西。因此也就无法创建对象。即抽象类无法实例化。不能new。从另一方面考虑,由于抽象类方法没有方法体,如果new了,调用抽象类方法时,无法调用方法。因为没有方法体。因此无法实例化。可以new他的子类

2、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

3、抽象类无法直接创建对象,原因是:调用抽象方法无意义。

4、只有覆盖了抽象类中所有的抽象方法后其子类才可以创建对象,否则该子类还是一个抽象类。 

因为:假如子类没有对抽象类的所有方法重写,当创建子类对象后,就会出现问题,因为子类继承了抽象类的所有方法,当调用没有重写的方法时,就无法调用。原因还是调用抽象方法无意义。

四、抽象类的设计思想

抽象类的思想就是:强制子类重写抽象方法。

扫描二维码关注公众号,回复: 4900665 查看本文章

五、抽象类细节问题

1、抽象类是一个父类,是不断从子类共性抽取出来的。

2、抽象类可以不定义抽象方法,但是无意义。

3、抽象类和一些关键字无法共存。

1、private关键字。private修饰抽象方法,使得抽象方法无法重写,而抽象方法的目的就是让子类重写的,这就矛盾了。

2、final

3、static

猜你喜欢

转载自blog.csdn.net/qq_33322074/article/details/85937422