int money;//帐户
Account2(int money){
 this.money=money;
 }
这个构造函数为什么要这么写? 直接声明 int money然后赋值一个整数可否?求高人指点一二

解决方案 »

  1.   

    this.money=money; 左边this.money是这个类的成员变量右边money是Account2的参数如果直接声明 int money然后赋值一个整数那么成员变量就没他作用了~~~~~~~OK
      

  2.   

    不可以,因为这里的 money是类里的一个field,如果你在方法里直接 int money那就不是类的属性了.
      

  3.   

    int money;//帐户 
    Account2(int money)  //这里的money是形参,用别的名也可以,如MM

    this.money=money;   //这意思是将形参money的值赋于这个类里的变量money(this.money)

      

  4.   

    int money;//这里的money是类的一个数据成员
    Account2(int money){ 此处为带参构造方法,money 为构造函数的形参,也可以用别的名字
    this.money=money; 这里this.money是类的数据成员money,用this是表明自引用,而等号后面的money是传入参数的值!

      

  5.   

    [Quote=引用 1 楼 lihan6415151528 的回复:]
    this.money=money; 左边this.money是这个类的成员变量 右边money是Account2的参数 如果直接声明 int money然后赋值一个整数 那么成员变量就没他作用了~~~~~~~ 就是这个道理。
      

  6.   

    Account2 aa=new Account2(100);
    Account2 bb=new Account2(100000);money就可以有不同值了。
      

  7.   


    一般 属性都是声明为 private 防止被 直接修改, 
    所以 在 别的类调用 的时候 就需要用到get  set 方法 来获取属性的值。
      

  8.   

    直接声明 int money然后赋值一个整数可否?可以。
    在实例化该类的对象时,money域将会被默认为你赋的这个值,而不再是0。over
      

  9.   


    为避免歧义,修改一下:在实例化该类的对象时,money域的默认值将会为你赋的这个值,而不再是0。