public class b {
    public a get(){
        return new b();
    }
}
return中返回的是一个对象还是对象的引用? 或者请高手解释一下这代码的其他理解方法?

解决方案 »

  1.   

    我觉得你应该这样写:
    public class b { 
        public b b(){ 
            return new b(); 
        } 
    }
    应该返回的是类型为b的构造方法
      

  2.   

     返回的是引用 a  应该是b的父类
     public b b(){
         return new b();  
    }  是一个与构造方法同名的方法(不是重载)
      

  3.   

    返回的是存放new b();这个对象的地址.
    也相当于下面代码中bb的值.public class b { 
        public a get(){
            b bb = new b();
            return bb; 
        } 

      

  4.   

    但是return new b()    new 不是为对象分配一个新的空间 创建新对象吗?怎么又成对象的引用了?
      

  5.   

    new b();
     在堆中创建对象,并返回引用。所以,实际上是一个引用返回给了return 
    然后return再将引用返回.
      

  6.   

    返回的当然是b类的一个实例的引用了
    是创建了一个新的对象,java里为了更好的管理实例的回收和内存分配,java程序里都是指对象的引用,
    操作对象的引用就是操作对象。
      

  7.   

    public class b { 
        public a get(){ 
            return new b(); 
        } 
    } 既然你这样写。我就根据这个胡乱想象一下吧。1、返回类型是a——说明b是a类型的;
    2、返回的引用。