抽象类和抽象方法

xiaoxiao2021-02-28  16

版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~ http://blog.csdn.net/xiaoduan_/article/details/79330591

抽象类和抽象方法

基本概念: 在面向对象的概念中所有的对象都是通过类来描述的,但并不是所有的类都是用来表述对象的,当一个类中没有包含足够的信息描绘一个具体的对象的时,这样的类就是抽象类 例如:形状就是一个抽象的概念,不同子类形状面积的方法是不一样的,可提供抽象方法来被不同的子类所实现

抽象类和抽象方法的声明格式

抽象类和抽象方法的特点

抽象方法不允许直接实例化,换句话说,抽象类不能创建对象,他只能作为其他类的父类,但是可以通过向上转型,指向实例化。抽象方法只能有声明,不能有实现,也就是只有方法头,没有方法体例如:abstract double area();

定义抽象类的意义在于

为其子类提供一个公共的类型(父类引用指向子类对象)封装子类中重复的内容(成员变量和方法)将父类设计成抽象类后,既可以借由父类继承关系限制子类的随意设计,在一定程度上避免了无意义父类的实例化

抽象类的注意事项

只要含有抽象方法,就一定得被定义成是抽象类抽象类可以没有抽象方法在抽象类中的成员方法可以包括一般方法和抽象方法抽象类不能被实例化,及时抽象类不包含抽象方法,这个抽象类也不能被创建实例。抽象类的构造方法主要是用于被其他子类调用一个类继承抽象类后,必须实现其所有的抽象方法,否则也是抽象类(只要有一个没有实现,就得定义为抽象类),不同的子类对父类的抽象方法可以有不同的实现即使父类是具体的,但是其子类也可以是抽象的。比如Object是具体的,但是可以创建抽象子类abstract方法不能用static和private修饰;对于类,不能同时用final和abstract修饰。
转载请注明原文地址: https://www.6miu.com/read-2603197.html

最新回复(0)