当前位置: 技术问答>java相关
String s = new String() 和 String s= null;有什么区别?
来源: 互联网 发布时间:2015-11-16
本文导语: String s = new String() 和 String s= null;有什么区别? 我在书上看到创建对象的语法是" 类名 新对象名 = new 类名()" 那为什么也可以写成 String s= null; 的形式呢, 还有如 Class.forName("oracle.jdbc.driver.OracleDriver").newI...
String s = new String() 和 String s= null;有什么区别?
我在书上看到创建对象的语法是" 类名 新对象名 = new 类名()"
那为什么也可以写成 String s= null; 的形式呢,
还有如 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
好像也可以写成 Class.forName( new oracle.jdbc.driver.OracleDriver");
实在是搞不清楚,这JAVA的语法怪,一会儿这样写,一会儿那样写,请指教啊!
我在书上看到创建对象的语法是" 类名 新对象名 = new 类名()"
那为什么也可以写成 String s= null; 的形式呢,
还有如 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
好像也可以写成 Class.forName( new oracle.jdbc.driver.OracleDriver");
实在是搞不清楚,这JAVA的语法怪,一会儿这样写,一会儿那样写,请指教啊!
|
我的理解:
String是一个类,String s = new String()的时候,建立一个String对象,并把这个对象的引用赋给变量s,s是指向一个String对象的引用。
而String s=null时,没有建立String对象,只是把一个null值赋给变量s,这时,变量s不指向任何String对象,只是一个空的String型的引用
String是一个类,String s = new String()的时候,建立一个String对象,并把这个对象的引用赋给变量s,s是指向一个String对象的引用。
而String s=null时,没有建立String对象,只是把一个null值赋给变量s,这时,变量s不指向任何String对象,只是一个空的String型的引用
|
对于String s = new String()
实际上是s已经初始化且值为“”
对于String s= null; 就是s还没有初始化。
对于Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
实际上是创建该类的一个实例
而Class.forName( new oracle.jdbc.driver.OracleDriver");也应该是创建实例吧,我还没有用过这种写法。
实际上是s已经初始化且值为“”
对于String s= null; 就是s还没有初始化。
对于Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
实际上是创建该类的一个实例
而Class.forName( new oracle.jdbc.driver.OracleDriver");也应该是创建实例吧,我还没有用过这种写法。