日期:2014-05-20  浏览次数:20551 次

初学者java疑难
public class Shape 
{
private String color;
public Shape()
{
}
public String Shape(String color)
{
this.color = color;
}
void show()
{
System.out.println(color);
}
public int getColor()
{
return this.color;
}
}

public class Circle extends Shape
{
private int radius;
public Circle (String color ,int radius)
{
super(color);
this.radius=radius;
}
void show()
{
System.out.println(color,+radius);
}
}

public class Rectangle extends Circle
{
private int a;
private int b;
public Rectangle (String color, int a,int b)
{
super(color);
this.a = a;
this.b = b;
}
void show()
{
System.out.println(getColor(),+a,+b);
}

}
class TestShape
{
public static void main(String[] args) 
{
Rectangle shape1 = new Shape("lanse",2,3);
shape1.show();
}
}

请哪位大神帮帮忙改下或者指点下这个程序,谢谢了

------解决方案--------------------
package com.csdn.test;

class Shape {
    private String color;
    
    public Shape() {
    }
    
    public void setColor(String color) {
        this.color = color;
    }
    
    void show() {
        System.out.println(color);
    }
    
    public String getColor() {
        return this.color;
    }
}

class Circle extends Shape {
    private int radius;
    
    public Circle(String color, int radius) {
        setColor(color);
        this.radius = radius;
    }
    
    @Override
    void show() {
        System.out.println(getColor() + radius);
    }
}

class Rectangle extends Circle {
    private int a;
    
    private int b;

    public Rectangle(String color, int radius) {
        super(color, radius);
    }

    public Rectangle(String color, int a, int b) {