如题,构造方法能够覆盖么?如何覆盖?
看下面案例:
- class Rectangle {
- private float width;
- private float height;
- Rectangle(float width, float height) {
- this.width = width;
- this.height = height;
- }
-
- public float getArea() {
- return 2*width*height;
- }
- }
- class Square extends Rectangle {
- Square(float width) {
- this.width = width;
- this.height = width;
- }
- }
复制代码 正方形属于特殊的矩形,所以正方形应当与矩形有继承关系,那么问题来了,矩形的构造方法有两个参数,分别传入宽和高,而正方形除了继承这个构造方法之外还应当有一个传入一个边长参数的构造方法。然而这个构造方法的第一行会隐式执行父类默认构造方法,然后出现了问题,此处应如何解决或者避开?
|
|