为了账号安全,请及时绑定邮箱和手机立即绑定

问一个关于多态和继承相关的问题。

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赋值?

我上面的那两个赋值是错的;

希望你能帮我

正在回答

2 回答

这个问题出现的原因可以在eclipse的报错说明里面找到,大概就是Shape类中没有length和width这两个变量,所以无法进行赋值.

我们可以在Shape类中加上这两个变量,或者将第三段代码的第三行用如下代码替代:

Rectangle rectangle = new Rectangle();


0 回复 有任何疑惑可以回复我~

你可以在子类里面给他赋值 如 int lenght=10;int wide=5;这样就引用进去了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530631    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

问一个关于多态和继承相关的问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信