我正在尝试使用以下代码打印矩形区域
System.out.println("Area of rectOne: " + rectOne.getArea());
但是因为方法getArea在另一个类中定义,所以不应该是
System.out.println("Area of rectOne: " + rectOne.NameOfClass.getArea());
答案 0 :(得分:3)
此答案假定rectOne
是对具有getArea()
方法的类实例的引用。
getArea()
是实例方法,因此,您需要引用此类的实例来访问getArea()
方法。
Rectangle rectOne = new Rectangle(); //Here you are getting reference to Rectangle instance.
rectOne.getArea();
答案 1 :(得分:2)
rectOne
包含哪个类的信息,因此rectOne.getArea()
有足够的信息来查找该方法。
只有static
个方法可以通过类名访问。
答案 2 :(得分:0)
如果您有声明
Object rectOne = new Rectangle();
然后你需要
System.out.println("Area of rectOne: "
+ ((Rectangle)rectOne).getArea());
注意语法;它与你的提案不同。但是,既然你可能有
Rectangle rectOne = new Rectangle();
编译器已经知道在rectOne
上调用方法时你所涉及的是什么类,所以编译器会允许你在没有进一步调用的情况下调用该方法。