java抽象类

Posted wbsbxh

tags:

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

---------------------------------------------------抽象类开始------------------------------------------------------
抽象类定义规则:
1.抽象类和抽象方法都必须用abstract关键字来修饰。
2抽象方法只需声明,而不需实现
3.抽象类不能被实例化,也就是不能用new关键字去产生对象。
4.含有抽象方法的类必须被声明为抽象类
5.抽象类的子类必须复写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。
6.与一般类相同,在抽象类中也可以拥有构造方法,但是这些构造方法必须在子类中明确被调用

抽象类的定义格式:
abstract class 类名称 // 定义抽象类
{
声明数据成员;
访问权限 返回值的数据类型方法名称(参数…)
{
… 支持定义一般方法
}
abstract 返回值的数据类型方法名称(参数…);// 定义抽象方法,在抽象方法里,没有定义方法体
}

抽象类和一般类的区别:
1.抽象类中抽象类和抽象方法都必须用abstract关键字来修饰。 普通类中无abstract
2.抽象类中支持只声明不实现的抽象方法存在。 普通类中方法需要实现
3.抽象类不能被实例化,需要借助子类去实例化。 普通类可直接去实例化

抽象类和一般类的共性:都有变量,一般方法,构造方法,均支持单继承
抽象类也可以像普通类一样,有构造方法、一般方法、属性,更重要的是还可以有一些抽象方法,留给子类去实现,而且在抽象类中声明构造方法后,在子类中必须明确调用。


抽象类存在的意义:就是当模板用的,比接口多了可继承的已实现的方法,要求子类必须有特定方法,不支持多继承
1.抽象类类似模版专门用来当作父类的,它像普通类一样有构造方法、一般方法、属性,更重要的是还可以有一些抽象方法,留给子类去实现,其目的是要设计者依据它的格式来修改并创建新的类。
抽象类不能直接实例化对象,只能通过抽象类派生出新的类,再由它来创建对象。而且在抽象类中声明构造方法后,在子类中必须明确调用。
2.抽象类定义一些公用的变量和功能方法供所有子类使用,再定义一些抽象类,要所有子类去自己实现。
---------------------------------------------------抽象类结束------------------------------------------------------

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

Java面向对象-抽象类

关于java抽象方法

Java抽象类/抽象方法

java——抽象类

Java抽象类

java抽象类注意问题