Java 使用(.)操作数在其他类中声明方法
我试图用下面的代码打印出一个矩形区域Java 使用(.)操作数在其他类中声明方法,java,Java,我试图用下面的代码打印出一个矩形区域 System.out.println("Area of rectOne: " + rectOne.getArea()); 但是,既然getArea方法是在另一个类中定义的,那么它不应该是 System.out.println("Area of rectOne: " + rectOne.NameOfClass.getArea()); rectOne具有它是哪个类的信息,因此rectOne.getArea()具有足够的信息来查找该方法 只有stat
System.out.println("Area of rectOne: " + rectOne.getArea());
但是,既然getArea方法是在另一个类中定义的,那么它不应该是
System.out.println("Area of rectOne: " + rectOne.NameOfClass.getArea());
rectOne
具有它是哪个类的信息,因此rectOne.getArea()
具有足够的信息来查找该方法
只有
static
方法可以访问,并且应该通过类名访问。此答案假设rectOne
引用了具有getArea()
方法的类的实例
Rectangle rectOne = new Rectangle(); //Here you are getting reference to Rectangle instance.
rectOne.getArea();
getArea()
是实例方法,所以需要引用此类的实例才能访问getArea()
方法
Rectangle rectOne = new Rectangle(); //Here you are getting reference to Rectangle instance.
rectOne.getArea();
如果你有申报单
Object rectOne = new Rectangle();
那你就需要
System.out.println("Area of rectOne: "
+ ((Rectangle)rectOne).getArea());
注意语法;这与你的建议不同。但是,既然你可能
Rectangle rectOne = new Rectangle();
编译器已经知道在rectOne
上调用方法时所涉及的类,因此编译器很幸运地允许您无需进一步ado即可调用该方法