此代码对我来说很好。
public class ABC
{
public int sayHello()
{
System.out.println("Hello Friends...!!!");
return 1;
}
}
public class XYZ
{
public static void main(String[] args){
// 1 Option
ABC objABC = new ABC();
int i = objABC.sayHello();
// 2 Option
int j = new ABC().sayHello();
}
}
我在这里以两种不同的方式调用了sayHello()
Class ABC
方法。
我只是想知道哪个选项是最佳选择和良好实践。
答案 0 :(得分:2)
绝对是第一个选择
1)如果需要再次调用相同的方法,则不必再次调用构造函数。也就是说,您不会创建另一个实例。
2)如果要关闭流或将其设置为null(就像IO相关操作所需的那样),第二个选项将不会为您提供任何参考对象。
答案 1 :(得分:1)
ABC objABC = new ABC()
,您将始终可以参考
物体。使用new ABC()
,您无法再次访问。sayHello()
和sayGoodBye()
使用第一种方法。你只需要使用它们
objABC.sayHello
和objABC.sayGoodBye()
。因此,最好使用第一个选项,即ABC objABC = new ABC();
答案 2 :(得分:1)
在两种情况下,您都使用类ABC
的引用来调用方法sayHello()
。在案例#1 中,引用可以重复用于进行其他调用,而在案例#2 中,对创建的对象的引用会丢失,因此您无法进一步调用调用该实例。
因此没有最佳答案。如果要保留实例及其引用,请使用#1 。
答案 3 :(得分:1)
创建一个只调用一个方法的对象的整个想法很奇怪,但一如既往地取决于它。
选项1:如果您将来需要objABC进一步调用sayHello(),这会更好。
选项2:如果您只对一个电话感兴趣,那么这是可以的。但在这种情况下,我会考虑使用静态方法来保存对象实例化。
答案 4 :(得分:1)
这取决于。如果您只想执行该方法,而无需引用调用该方法的对象:
int j = new ABC().sayHello();
如果您想保留对该对象的引用,并在以后重用它,那么:
ABC objABC = new ABC();
int i = objABC.sayHello();
答案 5 :(得分:1)
ABC objABC = new ABC();
要好得多,你有对象的实例,你可以随时使用它
如果您想进行int j = new ABC().sayHello();
之类的调用,我认为最好将其设置为静态,这样您就可以在不创建类实例的情况下调用它ABC.sayHello()
答案 6 :(得分:1)
如果你只想执行该方法,而不需要引用该对象。所以它只用于调用一个方法。
int j = new ABC().sayHello();
但是,
ABC objABC = new ABC();
int i = objABC.sayHello();
如果将来需要objABC进一步调用sayHello(),这样会更好。
答案 7 :(得分:0)
绝对是第一个选择
1)如果需要再次调用相同的方法,则不必再次调用构造函数。也就是说,您不会创建另一个实例并节省创建新对象的加载时间。
2)如果要关闭流或将其设置为null(就像IO相关操作所需的那样),第二个选项将不会为您提供任何参考对象,并且每次调用构造函数。