public static void main(String[] args) {
       Rectange r1=new Rectange();
       r1.setDim(10.3, 3.9);
       double a1=r1.area();
       System.out.println(a1);
}}
class Rectange{
private double length;
private double width;
void setDim(double w,double l)
{
length=l;  
width=w;
}
double area()
{
return length*width;
}
}r1是不是只能用class Rectange里的静态成员属性和成员方法???
如果要用其他的类地方法有什么方法吗?

解决方案 »

  1.   

    一个对象当然只能用自己的方法了类只能调用静态变量或者静态函数(public的)
    对象函数或者变量都可以调用(public的)
      

  2.   

    r1是Rectange类的一个对象,它当然可以使用类的成员变量和成员方法;如果要调用另一个类的方法,就加上static关键字。比如对Rectange类增加一个静态方法:public static double Area(double width,double height){
     return width*height;
    }调用这个方法不需要实例化对象。
      

  3.   

    有public private protected三个关键字组成了一套。
    r1可以调用public成员和方法。
    如果r1的实例和类定义在同一个包里面,r1还可以调用protected成员和方法。但是不能调用private成员和方法。可以使用 “类名.静态方法”和“对象.静态方法”来调用静态的方法,但是“对象.静态方法”这不是一个好风格,可读性差。
      

  4.   

    你的方法之前少了public private protected三个关键字中的一个,就取了默认值,可是它默认不是public,所以你调用不了