JAVA的抽象类

Posted userrrr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA的抽象类相关的知识,希望对你有一定的参考价值。

抽象类虽然不能单独实现我们需要达到的目的,但它却能为我们实现所需的功能提供很对益处。

什么是抽象类?

  在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

  并且,若继承了抽象类的子类并未实现抽象类的全部方法,则它依然是个抽象类。

 

抽象类的特点:
1,抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

2.抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能

3,抽象方法和抽象类都必须被abstract关键字修饰。
4,抽象类不可以用new创建和实例化对象。因为抽象类本身就是不完整的。
5,抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。

6 抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

 

 

抽像类的使用

抽象类需要设定一个抽象的父类,并且设定各方法的接口。然后再设定子类来继承父类并且实现父类中的具体方法。如果有需求,可以设计抽象子类实现父类的部分方法,然后再设定子类的子类来实现未完成的方法。

 

 

抽象类的好处

抽象类可以将一系列有相互关系的类整合起来,相当于形成一个具有多种功能与身份的类。抽象类能让程序员思绪更为清晰,程序的格式更加有条理。各种子类对同一个函数名可以实现多种不同的功能,用于多种不同的对象,使其不再单一,彼此之间又有着相互联系。也相当于将各种功能不同的类整合起来,使程序员的编程更加的简单,有条理。




以上是关于JAVA的抽象类的主要内容,如果未能解决你的问题,请参考以下文章

关于java抽象方法

Java面向对象-抽象类

Java抽象类

Java抽象类/抽象方法

java——抽象类

java抽象类注意问题