Java 对变量调用方法或将其链接到构造函数更好吗?
在任何类上都有调用此类方法的示例 即: 还是使用它更好Java 对变量调用方法或将其链接到构造函数更好吗?,java,methods,method-call,Java,Methods,Method Call,在任何类上都有调用此类方法的示例 即: 还是使用它更好 new SampleClass().someMethod(); 请详细解释。视情况而定。如果以后要使用SampleClass的任何其他方法,可以在实例中保持该变量(sc)的活动状态。否则, new SampleClass().method(); 这就足够了 两个选项都一样好,但第一个更好 如果你使用 SampleClass sc=new SampleClass(); sc.someMethod(); new SampleClass()
new SampleClass().someMethod();
请详细解释。视情况而定。如果以后要使用SampleClass的任何其他方法,可以在实例中保持该变量(sc)的活动状态。否则,
new SampleClass().method();
这就足够了 两个选项都一样好,但第一个更好 如果你使用
SampleClass sc=new SampleClass();
sc.someMethod();
new SampleClass().someMethod();
您可以使用类的同一对象调用该类的其他方法
如果你使用
SampleClass sc=new SampleClass();
sc.someMethod();
new SampleClass().someMethod();
您需要另一个对象来调用此类的其他方法
另一个例子是
loop { // Here loop can be any type, for/while/do-while
new SampleClass().someMethod();
}
这将创建与循环执行次数相同的类的对象。但如果你选择第一种方式
SampleClass sc=new SampleClass();
loop { // Here loop can be any type, for/while/do-while
sc.someMethod();
}
这不会导致创建许多要调用方法的对象
但是,是的,如果您需要只调用一个方法,而该方法不在循环中,则可以使用
newsampleclass().someMethod()
除了在第一个选项中,sc
仍然是一个可用的变量,您可以稍后调用实例方法之外,这两个变量都是完全有效的,不需要额外的上下文
另一方面,如果您有一个类方法(用Java术语来说,是一个static
方法),则不需要构造对象
SampleClass.someMethod();
第一个选项允许您将来再次访问对象。您有一个对它的引用,因此您将能够调用此对象的其他方法
SampleClass sc = new SampleClass();
sc.someMethod();
后来:
sc.someOtherMethod();
不清楚你在问什么。显然,如果您确实需要对象的变量,那么第一个更好。另外,我也不知道为什么要用Androidtagged with android b’因为我想知道在androidJava中使用Java是Java时有什么不同的while或其他解决方案。这里没有特定于Android的代码。是的,您将看到AsyncTasks执行您所描述的操作,但是您没有指定总是与
new
关键字一起使用时会发生任何内存问题,这就是创建总是新实例@Pankajloop{//Here loop可以是任何类型,例如/while/do while new SampleClass().someMethod();}
意味着每次都会发生new
实例,因此每个实例都会占用内存。@Chirag.T正确。您应该始终注意创建新对象。您应该始终考虑避免尽可能少地创建对象的方法\