class Rect{
public double witch ;
public double heigth ; 
public double area ;
public double getArea(){
return area = witch * heigth ;
  }
 }
public class Example{
public static void main(String args[]){
 Rect rectangle1 = new Rect() ;
 Rect rectangle2 = new Rect() ;
         public double area ;
 rectangle1.witch = 128 ;
 rectangle1.heigth = 69 ;
 rectangle2.witch = 18.9 ;
 rectangle2.heigth = 59.8 ;
 area = rectangle1.getArea() ;
 System.out.println("rectangle1的面积" + rectangle1.area) ;
 area = rectangle2.getArea() ;
 System.out.println("rectangle2的面积" + rectangle2.area) ;
}
}这个程序运行为什么 public double area ;
是非法的啊?谢谢啊!

解决方案 »

  1.   

    在main函数里面不能再用public 修饰符了,将public double area;改成
    double area;
      

  2.   

    在方法里面的就只能是局部变量,main方法也不例外。
    所以你用一个public来修饰会报错的。
      

  3.   

    我在想你的println里面的rectangle1.area那个rectangle是不是多余的?你返回的是area...,还有那个定义的double area是不是多余的呢?要不赋值为0,要么直接在结果里赋值double area = 。.
      

  4.   

    我觉得这样比较好
    public class Try {
    public static void main(String args[]) {
    Rect rectangle1 = new Rect();
    Rect rectangle2 = new Rect();
    rectangle1.witch = 128;
    rectangle1.heigth = 69;
    rectangle2.witch = 18.9;
    rectangle2.heigth = 59.8;
    double area1 = rectangle1.getArea();
    System.out.println("rectangle1的面积为" + area1);
    double area2 = rectangle2.getArea();
    System.out.println("rectangle2的面积" + area2);
    }
    }class Rect {
    public double witch;
    public double heigth;
    public double area; public double getArea() {
    return area = witch * heigth;
    }
    }
      

  5.   

    语法错误嘛,public 不是随处乱用的