new可以创建一个新的对象,应该在方法内使用

解决方案 »

  1.   

    class A {
        StringBuffer sb = new StringBuffer("a");
        public void a() {
            System.out.println(sb);
        }
    }
      

  2.   

    如果累已经定义了,在哪里都可以new
      

  3.   

    的确可以 ,danceflash(Wine)说的千真万确啊,,但是我们不建议这样使用,在构造器里做这样的动作才最合理啊!
    这本书也不完全错,大概是你没完全理解他的意思啊!
      

  4.   

    强烈建议楼主不要看那本书了class A {
        String s;
      
        static{
            s=new String("这样都行啊");
        }
        StringBuffer sb = new StringBuffer("a");
        public void a() {
            System.out.println(sb);
        }
    }
      

  5.   

    class test{
      
      private Object o1;  private Object o2;  private Object o3;  test(){
          o1=new Object();
          o2=new Object();
          o3=new Object();
       }
    }我想楼主大概说的是这个意思吧.
    其实o1,o2,o3也可以在声明的时候创建的,
    只是上面这种方式把创建放到构造函数中,保证了在使用的时候才创建一个对象的原则
      

  6.   

    Azraelfan(Azrael) 和 fangrong() 分析得有道理.
    这是印度一所程序员培训机构的一本教材里写的.看来是有它的道理.
      

  7.   

    晕~~~
    在类属性定义时赋初值的动作优先于构造器个人认为这是Java提供的一个方便之处
    如果一个属性经常只赋值为一个默认值
    但是你要构造多个构造器的时候,是不是每一个构造器都要为这个对象赋初值呢
    当然你也可以做一个构造器专门为这些对象赋初值而同样的你也可以使用在定义处赋初值的方法我觉得只有在了解了对象的构造过程才能来讨论这些东西建议楼主先看看 Thinking in Java 2nd or 3rd