1、抽象类
1.1实例
描述:定义一个抽象类Shape,具有受保护类型的x和y属性,以及公有的抽象方法获得面积。
Rectangle类继承于Shape类,在构造方法中给父类属性x和y初始化,并重写父类求面积的抽象方法。
Triangle类也继承于Shape类,在构造方法中给父类属性x和y初始化,并重写父类中求面积的抽象方法。
Cube类继承于Rectangle类,独有的属性是height,其构造方法需要调用父类的构造方法完成对x和y的初始化(立方体的底面长和宽),并对height初始化;独有的方法是求体积。
创建上转型对象,求矩形的面积和三角形面积。
创建对象,求立方体的体积。
- 向上转型:是从一个较具体的类到较抽象的类的转换,所以向上转型是安全的(例如,可以说平行四边形是特殊的四边形,但不能说四边形是平行四边形)
Shape类
JD.pngRectangle类
z1.PNGTriangle类
z2.PNGCube类
z3.PNG主程序ShapeTest
z4.PNG运行结果
z5.PNG1.2 注意
1.super关键字的三个作用
- 访问父类属性
- 调用父类构造方法
- 调用父类成员方法
- 抽象类的说明
- 抽象类中可以有抽象方法和非抽象方法共存
- 如果一个类中含有抽象方法,则该类一定是抽象类
- 子类如果继承抽象类,必须强制重写父类中的抽象方法!
3.final关键字的说明
- final修饰的变量就是常量
- final修饰的类不能被继承
- final修饰的方法不能被子类重写
网友评论