## Java03

Java03

多线程业务

java 复制代码
package day08;

public class Account {


    private String cardId;//卡号
    private double money;//余额
    public Account() {
    }

    public Account(String cardId, double money) {
        this.cardId = cardId;
        this.money = money;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public double getMoney() {
        return money;
    }

    @Override
    public String toString() {
        return "Account{" +
                "cardId='" + cardId + '\'' +
                ", money=" + money +
                '}';
    }

    public void setMoney(double money) {
        this.money = money;
    }

    public void drawMoney(int money) {
        //先弄清楚到底是谁来取钱
        String name = Thread.currentThread().getName();
        if(this.money>=money){
            System.out.println(name + "来取钱" + money + "成功!");
            this.money=this.money-money;
            System.out.println(name + "来取钱后,余额剩余" + this.money);
        }else{
            System.out.println(name + "来取钱,余额不足~");
        }

    }
}
java 复制代码
package day08;

public class DrawThread extends Thread {
    private Account account;
    public DrawThread(){
        //无参构造器
    }
    public DrawThread(Account account,String name){
        super(name);//一定要放在上面
        this.account=account;
    }
    @Override
    public void run() {
        //线程调用方法进行取钱
        account.drawMoney(100000);
    }

}
相关推荐
异常君10 分钟前
@Bean 在@Configuration 中和普通类中的本质区别
java·spring·面试
jackson凌11 分钟前
【Java学习笔记】Math方法
java·笔记·学习
西北大程序猿1 小时前
单例模式与锁(死锁)
linux·开发语言·c++·单例模式
你不是我我1 小时前
【Java开发日记】说一说 SpringBoot 中 CommandLineRunner
java·开发语言·spring boot
yuan199971 小时前
Spring Boot 启动流程及配置类解析原理
java·spring boot·后端
2301_807606431 小时前
Java——抽象、接口(黑马个人听课笔记)
java·笔记
心扬1 小时前
python网络编程
开发语言·网络·python·tcp/ip
楚歌again1 小时前
【如何在IntelliJ IDEA中新建Spring Boot项目(基于JDK 21 + Maven)】
java·spring boot·intellij-idea
qq_454175791 小时前
c++学习-this指针
开发语言·c++·学习