为了账号安全,请及时绑定邮箱和手机立即绑定

java引用数据类型的问题,请大神解释下标注的问题.....

java引用数据类型的问题,请大神解释下标注的问题.....

精慕HU 2019-05-02 22:19:12
import java.util.Scanner;public class Bank implements Runnable {Acount acount;public Bank(Acount a) -->这个构造方法的含义?{this.acount=a;}public void run(){    Scanner input=new Scanner(System.in);     System.out.println("请输入你的存款:");     int temp=input.nextInt();     acount.setMoney(temp);  }}import java.util.Scanner;public class Customer implements Runnable {Acount Acount;public Customer(Acount Acount){ -->这个构造方法的含义? this.Acount=Acount;}public void run(){System.out.println("请输入你的取款金额:");Scanner input=new Scanner(System.in);int temp=input.nextInt();Acount.getMoney(temp); }}public class Acount {private int money;public Acount(int money){this.money=money;}Bank b=new Bank(this); -->this指的是什么?public synchronized void getMoney(int money){while(this.money<money){System.out.println("取款:"+money+" 余额:"+this.money+" 余额不足,正在等待存款......");//当余额不足时 取款线程处于等待状态           try {                Thread t2=new Thread(b);                t2.start();                wait();             } catch (Exception e) {                 // TODO: handle exception             }       }       this.money=this.money-money;       System.out.println("取出:"+money+" 还剩余:"+this.money);  }  public synchronized void setMoney(int money)  {       this.money=this.money+money;       System.out.println("新存入:"+money+" 共计:"+this.money);       //将取款线程唤醒       notify();  }  public static void main(String args[])  {       Acount Acount=new Acount(0);       Customer c=new Customer(Acount);       new Thread(c).start();  }}
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

你的问题是构造函数的参数问题
面向对象编程中,学会通过构造函数传参,以达到初始化相关变量为目的
前两个Bank(Acount a)意思就是传一个Acount对象来构造对象
从接下来的一行this.Acount=Acount;就能看出,为了初始化本类变量(对象)

Bank b=new Bank(this);
这个this是什么的判定方法准则就是看作用域
this当前处于一个class的类内
所以,指的是当前实例对象//public class Acount{...}
当你实例化Acount的时候,这个this就会诞生
比如Acount myAcount = new Acount(100);

希望对你有帮助,如问题解决,烦请结贴,如有疑问请追问。
//0分贴子太多了,没人回答就是因为0分的不爱结贴


查看完整回答
反对 回复 2019-05-06
  • 1 回答
  • 0 关注
  • 470 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号