1 。抽象类:
1〉声明抽象类与抽象方法:
eg. publicabstractclass PlaneGraphcs1
{
publicabstractdouble area(); //分号必不可少
}
抽象方法是只有方法声明而没有方法体的成员方法 。抽象类中可以不包含抽象方法,但是包含抽象方法的类必须声明为抽象类 。构造方法,类成员方法不能被声明为抽象方法 。
2〉抽象类不能被实例化 。
抽象类不能被实例化,即使抽象类中没有包含抽象类方法,也不能创建抽象类的实例 。下列语句产生语法错误:
PlaneGraphics1 g1 =new PlaneGraphics1(); //语法错误,抽象类不能实例化
3〉抽象类与抽象方法的作用:
抽象类用于描述抽象的概念,抽象方法用于声明方法的参数和返回值,抽象方法的具体实现由抽象子类完成 。子类必须覆盖父类的抽象方法 。
抽象类声明的抽象方法约定了多个子类共用的方法声明,每个子类可以根据自身的实际情况,给出抽象方法具体的实现 。显然不同的子类可以有不同的方法实现 。因此,一个抽象方法在多个子类中表现出多态性 。抽象类提供了方法声明与方法实现分离的机制 。使得多个不同的子类能够表现出共同的行为能力 。
4〉抽象方法必须被子类覆盖:
由于抽象方法在抽象类中没有具体的方法实现,所以抽象方法必须被子类覆盖 。反之,如果一个子类不能覆盖父类的抽象方法,则该类自己也必须声明为抽象类 。
5〉抽象方法的必要性:
如果一个方法需要被子类覆盖,则必须声明为抽象方法 。例如PlaneGraphics1类也可以声明area()方法不是抽象方法 。则PlaneGraphics1类也不必声明为抽象类 。声明如下:
eg .
public class PlaneGraphics1 //平面图形类,非抽象类
{
public double area() / /非抽象方法,必须有方法体
{
return 0;
}
}
public abstract class PlaneGraphics1 { //平面图形类,抽象类
5.java抽象类继承具体类有什么用这个用处是很大的啊 。
1、抽象类与接口紧密相关,它们不能示例化,并且常常部分实现或根本不实现 。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承 。从抽象类派生的类仍可实现接口 。
2、具体应用时,可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法 。
3、抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码 。如果在开发大型项目时,对于一个派生类功能的增添,就可以直接在抽象类中添加特定的方法,在后期派生类的使用时即可对该方法进行操作的实例化而不会对以前的方法造成任何影响(因为抽象类可以部分实现,以前应用的派生类就可以不做更改) 。
文章插图
- 短视频|从短视频博主走向《中国好声音》,三个月的时间,李楚楚带来了光
- 奔跑吧兄弟|新《跑男》原班人马海报官宣,从C位看端倪:本季队长由谁担任?
- 奔跑吧兄弟|新版《跑男》官宣,从海报就能看出咖位高低,新一季队长又内定了
- 改过不吝从善如流苏轼这句话的意思是什么 改过不吝从善如流是苏轼说的吗
- 白发戴花君莫笑岁月从不败美人出自哪里
- 统计从业资格证 统计从业资格证报名
- 在摩托车上从后面顶她 在摩托车上要她
- 十年如烟|从《十年如烟》到《飘雪》看冠军梁玉莹的《中国好声音》之路
- 淡定是什么意思 从容淡定是什么意思
- 夏至未至陆之昂遇到颜末是从哪一集开始的