class Exercise8_1
{
public static void main(String[] args){
Triangle tr = new Triangle();
tr.setColor = "yellow";
    tr.isFilled = true;
 System.out.println(tr.toString());
 }
}class Triangle extends GeometricObject {
  double side1, side2, side3;  /** Constructor */
  public Triangle() {
  }  /** Implement the abstract method findArea in GeometricObject */
  public double getArea() {
    double s = (side1 + side2 + side3) / 2;
    return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
  }  /** Implement the abstract method findCircumference in
   * GeometricObject
   **/
  public double getPerimeter() {
    return side1 + side2 + side3;
  }
  
  /** Override the toString method */
  public String toString() {
    return "Triangle: side1 = " + side1 + " side2 = " + side2 +
      " side3 = " + side3;
  }
}// GeometricObject.java: The abstract GeometricObject class
class GeometricObject {
  private String color = "white";
  private boolean filled;  /**Default construct*/
   GeometricObject() {
  }  /**Getter method for color*/
  public String getColor() {
    return color;
  }  /**Setter method for color*/
  public void setColor(String color1) {
    color = color1;
  }  /**Getter method for filled. Since filled is boolean,
     so, the get method name is isFilled*/
  public boolean isFilled() {
    return filled;
  }  /**Setter method for filled*/
  public void setFilled(boolean filled1) {
    filled = filled1;
  }
}
---------- javac ----------
Exercise8_1.java:9: 错误: 找不到符号
tr.setColor = "yellow";
  ^
  符号:   变量 setColor
  位置: 类型为Triangle的变量 tr
Exercise8_1.java:10: 错误: 找不到符号
    tr.isFilled = true;
      ^
  符号:   变量 isFilled
  位置: 类型为Triangle的变量 tr
2 个错误输出完成 (耗时 2 秒) - 正常终止

解决方案 »

  1.   

    改成这样
    class Exercise8_1 {
    public static void main(String[] args) {
    Triangle tr = new Triangle();
    tr.setColor ( "yellow");
    tr.setFilled ( true);
    System.out.println(tr.toString());
    }
    }class Triangle extends GeometricObject {
    double side1, side2, side3; /** Constructor */
    public Triangle() {
    } /** Implement the abstract method findArea in GeometricObject */
    public double getArea() {
    double s = (side1 + side2 + side3) / 2;
    return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
    } /** Implement the abstract method findCircumference in * GeometricObject **/
    public double getPerimeter() {
    return side1 + side2 + side3;
    } /** Override the toString method */
    public String toString() {
    return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = "
    + side3;
    }
    } class GeometricObject {
    private String color = "white";
    private boolean filled; /** Default construct */
    GeometricObject() {
    } /** Getter method for color */
    public String getColor() {
    return color;
    } /** Setter method for color */
    public void setColor(String color1) {
    color = color1;
    } /**
     * Getter method for filled. Since filled is boolean, so, the get method
     * name is isFilled
     */
    public boolean isFilled() {
    return filled;
    } /** Setter method for filled */
    public void setFilled(boolean filled1) {
    filled = filled1;
    }
    }