+
 新版

new 创建的对象是否要放在一个变量中(Java)

请勿关闭_-_-_ 发布于 2017/08/20 15:41
阅读 387
收藏 1

现有如下两种方式调用MyClass类中的myMethod方法

1

MyClass myClass = new MyClass();
myClass.myMethod();

2

new MyClass().myMethod();

请问各位大佬,这两种写法有何区别?

加载中
1
tcxu
tcxu

方法1 : 创造一个MyClass 的对象 myClass, 即创建一个指向这个对象的“引用”(reference)。用这个标识符 myClass,就可以调用类中的方法, 如, myMethod()。 由于有了这个引用(标识符),以后就可以利用它,不限次数地调用该类中的任何可以调用的方法, 或“引荐”该类的可以显示的属性(数据成员)。

方法2 : 使用匿名对象,调用类内的方法 myMethod()。就是说,同样创建了该类的对象调用了 myMethod(),但没留下他的引用。优点: 以代码行数而论,省了一行, 可谓简洁。弊端是,在以后的代码中,若又要调用该类的方法或“引荐”该类的属性,就必须先创建另·一个对象。费事了。

总之,若以后还要用到这个对象,用方法1 合适。若以后不再需要用这个对象了,用方法2 更简洁。

0
被编程耽误的相声演员
被编程耽误的相声演员

new这个东西,每次出现都会在内存创造一个空间用来实例化对象的(就是等着你放内容),如果一个对象的多个方法都要用到肯定是第一种合适的,反过来说你在一个方法里每次都用第二种方法的话,那每次都要new一个对象出来,肯定不大合适,占用内存啊。

所以具体还要看情况的

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部