请教一个关于new关键字的问题
1 XmlDocument document = new XmlDocument ();
2 document.Load(@"C:\book.xml");
3 XmlElement element = document.DocumentElement;
请问第三行:
XmlElement element = document.DocumentElement;
如果写成:
XmlElement element = new XmlElement();
element = document.DocumentElement;
这两种写法有什么区别么?
new关键字在什么情况下可以省略呢?
比如: String str = 99; 也是省略了new?
------解决方案--------------------反编译发现,new的一行代码保留了,所以,只是增加了GC的工作 其他没有作用。
你要创建新实例的时候才会用new,只是赋值操作时不用new来实例化。
比如 User u1=new("张三"); 你还需要一个李四的时候 需要再new一个。
但是 你另外一个变量还是需要张三,你可以直接拿来用,如下
User u2=u1; 只是引用了原来对象的内存地址。
在方法中有返回值的时候,一般都是在方法中创建完了对象,直接赋值给变量就可以,也是不许要再new一次的