我们都知道java是面向对象的计算机语言,在面向对象的概念中,所有的对象都是由类来描述的,但是所有的类都是用来描述对象的吗?答案并不是,这个时候就有了java抽象类的概念,下面我们来一起认识一下java抽象类是什么,学习java抽象类的相关基础知识。
在java语言中,如果一个类中没有包含足够的信息来描绘一个具体的对象,用abstract关键字来修饰一个类时,这个类就叫作java抽象类。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类,抽象类可以看作是对类的进一步抽象。在面向对象领域,抽象类主要用来进行类型隐藏。
Java抽象类有以下五个需要知道的特点:
(1)抽象类的修饰符必须为public或者protected,不能是private,因为创建抽象类,就是要被其他类继承,用private修饰了,则不能被子类继承,子类便无法实现该方法;
(2)抽象类不能用来创建对象,即抽象类不能被直接实例化,要通过其普通子类进行实例化;
(3)如果一个普通子类继承于一个抽象父类,则该类一定要重写实现该父类的抽象方法。如果该子类仍然是一个抽象类,这也是允许的,就不必重写实现该父类的抽象方法,但必须用abstract修饰;
(4)抽象类是对整体类的抽象,包含属性和方法;
(5)抽象类,其实是从子类中提取共性部分,然后抽象出来,反之,子类继承该父类就可以了,也就是说里面的抽象方法一般来自同一个类别。
那么使用java抽象类的方法是什么呢?分为一般方法和抽象方法。抽象方法的定义与一般方法不同,抽象方法在方法头后直接跟分号,而一般方法含有以大括号框住的方法体。所有的抽象方法必须存在于抽象类中。在抽象类中定义的方法称为抽象方法,这些方法只有方法头的声明,而用一个分号来代替方法体的定义,即只定义成员方法的接口形式,而没有具体操作。只有派生类对抽象成员方法的重定义才能真正实现与该派生类相关的操作。在各子类继承了父类的抽象方法之后,再分别用不同的语句和方法体来重新定义它,形成若干个名字相同、返回值相同、参数列表相同、目的一致但是具体实现有一定差别的方法。抽象类中定义抽象方法的目的是实现一个接口,即所有的子类对外都呈现一个相同名字的方法。
以上是对java抽象类基础知识的总结,java零基础的新手在学完面向对象后就可以理解java抽象类的含义了。除了学习这篇文章中介绍的java抽象类概念、特点和实现方法外,还可以在java教程中学习更多的抽象类相关知识,比如纯虚函数和抽象类的关系、java抽象类实例化等等的内容,希望大家都可以通过自己的努力全面掌握到抽象类的知识,提高java技能。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习