[英]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.