public abstract class Shape { public abstract void getPerimeter(); public abstract void getArea(); }
这是我先实现的一个抽象的父类Shape;
public class Rectangle extends Shape { int length; int wide; public void getPerimeter() { System.out.println("矩形的周长为:"+(length+wide)*2); } public void getArea() { System.out.println("矩形的面积为:"+length*wide); } }
这是我实现的一个继承Shape父类的一个子类Rectangle;
现在我用多态的方法 Shape rectangle = new Rectangle(); 用父类引用子类
public class Initial { public static void main(String[] args) { Shape rectangle = new Rectangle(); rectangle.length = 10; rectangle.width = 5; Shape circle = new Circle(); } }
那么问题来了,我要怎样才能给子类中的length和width赋值?
我上面的那两个赋值是错的;
希望你能帮我
这个问题出现的原因可以在eclipse的报错说明里面找到,大概就是Shape类中没有length和width这两个变量,所以无法进行赋值.
我们可以在Shape类中加上这两个变量,或者将第三段代码的第三行用如下代码替代:
Rectangle rectangle = new Rectangle();
你可以在子类里面给他赋值 如 int lenght=10;int wide=5;这样就引用进去了