抽象类

    java中可以创建专门的类作为父类,这种类被称为抽象类!抽象类的作用有点像模板的作用,目的是根据它的格式来创建和修改新的类。但是并不能直接由抽象类创建对象,只能通过抽象类派生出新的子类,然后再由子类来创建其对象!也就是说,抽象类不能用new关键字来创建实例对象的类,它可以作为父类被它的所有子类所共享。            abstract可以修饰类和方法。

一.abstract修饰类:抽象类

1、抽象类不能被实例化

2、抽象类有构造器(凡是类都有构造器。。)

3、抽象类中可以没有抽象方法。

4、含有抽象方法的类一定是抽象类。

定义抽象类的语法格式如下:

abstract class 类名{

声明成员变量;

返回值的数据类型  方法名 (参数表){

                            ...    }

abstract返回值的数据类型  方法名 (参数表); //注释:抽象方法,抽象方法里不能定义方法体,所以用“;”

二.abstract修饰方法:抽象方法

1.没有方法体,且没有{}

2.抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类;

3.若子类继承抽象类,并重写了所有的抽象方法,则子类是一个实体类,即可以实例化;

4.若子类继承了抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须被声明为抽象类。不能使用new来创建对象。

说明: 

(1)抽象类以abstract来修饰

(2)抽象类中的方法分为两种:一种是带有方法体的普通方法,一种是没有方法体  的“抽象方法”,它是以abstract关键字开头的方法,此方法只声明返回值的数据类型,方法名称与所需的参数,但没有方法体。(3)抽象方法用“;”结尾。

(4)抽象方法必须被子类的方法覆盖,否则子类仍然是抽象的。抽象方法声明中修饰符static与abstract不能同时使用!

(5)抽象类的子类必须实现父类中的所有抽象方法,或者将自己也声明成抽象的。

注意事项

(1)抽象类是被继承的,所有不能用final修饰,即abstract与final不能同时使用。也就是说,一个类不能既是最终类,又是抽象类。

(2)abstract不能与private、static、final或native并列修饰同一个方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容