public class a{
String b =2 ;
public a(int b){
this.b=b;
}
public void setb(int b){
this.b=b;
}
public int getb(){
return b;
}
public void static String[]agrs(){
a s= new a(1);
  s=new a(2);
s.getb;
}
}
请问问 输出的是那个数字。我定义了一个实例之后,下面还有s=new a(2); 也是另外的一个实例吗?前面可以加 a s= new a(2);吗?

解决方案 »

  1.   

    没看懂你的问题, 说 一句 new出来 都是新对象啊,都是 不一样的
      

  2.   

    程序有错误
    public class A{
    String b =2 ;
    public A(int b){
    this.b=b;
    }
    public void setb(int b){
    this.b=b;
    }
    public int getb(){
    return b;
    }
    public void static main(String agrs[]){
    A s= new A(1);
      s=new A(2);
    s.getb();
    }
    }
    运行后s中的b是2
      

  3.   

    请问问 输出的是那个数字。我定义了一个实例之后,下面还有s=new a(2); 也是另外的一个实例吗?前面可以加 a s= new a(2);吗?你NEW出了2个对象
    只是声明了一个引用
    你的引用后边引用的是 b = 2的那个对象
      

  4.   

    new 一个对象就会在堆上新分配一块空间,当然引用指向的地址就改变了。