如何创建java类的对象

时间:2013-07-09 09:45:38

标签: java

此代码对我来说很好。

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方法。 我只是想知道哪个选项是最佳选择和良好实践。

8 个答案:

答案 0 :(得分:2)

绝对是第一个选择

1)如果需要再次调用相同的方法,则不必再次调用构造函数。也就是说,您不会创建另一个实例。

2)如果要关闭流或将其设置为null(就像IO相关操作所需的那样),第二个选项将不会为您提供任何参考对象。

答案 1 :(得分:1)

  • 使用ABC objABC = new ABC(),您将始终可以参考 物体。使用new ABC(),您无法再次访问。
  • 假设有两种方法。那么sayHello()sayGoodBye() 使用第一种方法。你只需要使用它们 objABC.sayHelloobjABC.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相关操作所需的那样),第二个选项将不会为您提供任何参考对象,并且每次调用构造函数。