簡體   English   中英

使用(。)操作數聲明其他類中的方法

[英]using the (.) operand to declare methods in other classes

我正在嘗試使用以下代碼打印出矩形區域

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

但是由於方法getArea是在另一個類中定義的,所以不應該

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

該答案假定rectOne是對具有getArea()方法的類的實例的引用。

getArea()是實例方法,因此,您需要引用此類的實例才能訪問getArea()方法。

Rectangle rectOne = new Rectangle(); //Here you are getting reference to Rectangle instance.
rectOne.getArea();

rectOne包含它屬於哪個類的信息,因此rectOne.getArea()具有足夠的信息來查找該方法。

只有static方法可以並且應該通過類名訪問。

如果您有申報

Object rectOne = new Rectangle();

那你就需要

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

注意語法; 這與您的建議不同。 但是,由於您可能有

Rectangle rectOne = new Rectangle();

編譯器已經知道在rectOne上調用方法時所涉及的類,因此編譯器可以rectOne地調用您的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM