定义对象必须用new吗?xiexie 
为什么下面的out也是一个对象,并没有new啊
public   final   static   PrintStream   out   =   nullPrintStream();   

解决方案 »

  1.   

    你可以简单理解它是在nullPrintStream()方法里new的,然后把nullPrintStream()里new好的
    赋给out
      

  2.   

    nullPrintStream()是一个函数......
      

  3.   


         可以new 也可是是函数返回,只要nullPrintStream()函数返回的是out类型的对象就行       
      

  4.   

    nullPrintStream()方法 反回一个PrintStream 对象,然后赋值给out     
      

  5.   

    首先你的说法不是很准确,应该是实例化一个对象而不是定义一个;实例化不是只能用new,如:String str = "123" ,str即是String对象的实例,又如:Calendar cal = Calendar.getInstance(),但是他们的底层实现,估计是一样的,水平还有限,目前只能告诉你这么多了
      

  6.   

    我想是否能给总结一下
    创建一个实例,可以有几种方法?
    1。mew
    2。直接赋值?
    有没有第三种了?
      

  7.   

    有的,使用反射 Book book = (Book)Class.forName("com.xxx.Book").newInstance();