[英]OOP in JAVA - Android
從另一個類調用方法的最正確方法是什么?
創建對象更正確:
private MyClass myclass;
myclass = new MyClass();
然后調用一個方法:
myclass.mymethod();
或直接從課程中致電:
MyClass.mymethod();
哪個更有利? 對於系統來說,哪個更便宜,更難?
這些可能不相等。
能夠致電:
MyClass.mymethod();
mymethod
必須是static
方法:
public MyClass {
public static void mymethod() { /* something */ }
}
的確,如果mymethod
是 static
方法,則也可以像實例方法一樣調用它,如下所示:
myclass = new MyClass();
myclass.mymethod(); // works even if mymethod is static
但是,歸根結底,就性能而言(關於方法調用本身),兩種方法之間沒有明顯的區別。
您應該選擇在語義上更有意義的方法:
mymethod
是僅對類的特定實例有意義的操作嗎?
static
)方法 mymethod
是一項不需要采取任何行動的操作嗎?
static
方法。 值得注意的是,盡管它們不是炸彈 ,但應盡可能避免使用static
方法。 您添加static
方法的次數越多,您的OO代碼轉換成程序性的代碼就越多。 更不用說static
方法是不可替代的 ,因此,測試/模擬可能會困難得多。
您沒有選擇的余地。 你只能做
MyClass.myMethod();
如果該方法被定義為“類方法”:
static void myMethod() {}
這些對象不作用於任何特定對象,因此在調用它們時不會提供任何對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.