代码块编号为1。
public class SomeClass {
public static void main(String [] args) {
SomeClass foo = new SomeClass();
foo.SomeMethod();
}
public void SomeMethod() {
}
}
代码块编号为2。
public class SomeClass {
public static void main(String [] args) {
new SomeClass().SomeMethod();
}
public void SomeMethod() {
}
}
这两个代码块(编号1和2)是否相同?在调用方法时,我对不同的语法感到困惑。如果有人能为我解释,我感激不尽。
答案 0 :(得分:5)
是的,它们在功能上是一样的。但是,使用代码块2,您无法访问在程序的未来生命周期中创建的SomeClass
对象。
答案 1 :(得分:1)
是的,他们是一样的。在第一种情况下,对象引用仅存储在引用变量中以供将来使用 在第二种情况下,不存储引用。