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