使用(。)操作数来声明其他类中的方法

时间:2013-01-20 13:34:56

标签: java

我正在尝试使用以下代码打印矩形区域

  System.out.println("Area of rectOne: " + rectOne.getArea());

但是因为方法getArea在另一个类中定义,所以不应该是

  System.out.println("Area of rectOne: " + rectOne.NameOfClass.getArea()); 

3 个答案:

答案 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上调用方法时你所涉及的是什么类,所以编译器会允许你在没有进一步调用的情况下调用该方法。