类和对象及类与类的使用经典题目—关卡4

本文通过一个Account类模拟银行账户,包括账户ID、余额和年利率等属性,以及存款、取款等方法。同时创建了Customer类,将账户与客户关联。在DEmo2测试程序中,创建了一个Customer JaneSmith,并对其账户进行存取款操作,展示了如何使用getter和setter方法以及类之间的交互。
摘要由CSDN通过智能技术生成

类和对象的定义及使用

1.定义

 

 

 

 

2 .了解关键字private,this的使用和作用

private——保护成员不被别的类使用,只有在private修饰的成员能使用

提供get变量名()方法,用于获取成员变量的值,方法用public修饰

提供set变量名(参数)方法,用于设置成员变量的值,方法用public修饰

this——his修饰的变量用于指代成员变量

方法的形参如果与成员变量同名,不带this 修饰的变量指的是形参,而不是成员变量
方法的形参没有与成员变量同名,不带 this 修饰的变量指的是成员变量

3.类与类的经典例题(个人错题)

①.写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),取款方法withdraw(),存款方法deposit()。

②.创建Customer类。

③.写一个测试程序。

(1)创建一个Customer ,名字叫 Jane Smith, 他有一个账号为1000,余额为2000元,年利率为 1.23% 的账户。

(2)对Jane Smith操作。

存入 100 元,再取出960元。再取出2000元。

打印出Jane Smith 的基本信息


效果如图:

成功存入 :100.0

成功取出:960.0

余额不足,取款失败

        this.balance = balance;
        this.annualInterestRate = annualInterestRate;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }

    public double getAnnualInterestRate() {
        return annualInterestRate;
    }

    public void setAnnualInterestRate(double annualInterestRate) {
        this.annualInterestRate = annualInterestRate;
    }



    public void   deposit(double inmoney){

          this.  balance +=inmoney;
        System.out.println("存入"+inmoney+"总余额"+balance);
        }

    public void withdraw(double outmoney){
        if(this.balance<outmoney){
            System.out.println("取款失败,余额不足");
            return;
        }else{
            this.balance-=outmoney;
            System.out.println("取出"+outmoney+"/t"+"当前账户余额为"+balance);
        }
    }
}
public class DEmo1 {
    private String firstName;
    private String lastName;

    private DEmo demo;

    public DEmo1(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    //把账户的类与客户建立联系
    public DEmo getDemo() {
        return demo;
    }

    public void setDemo(DEmo demo) {
        this.demo = demo;
    }

}
public class DEmo2 {
    public static void main(String[] args) {
            DEmo1 customer=new DEmo1("SNAKE","AAA");
            DEmo account=new DEmo(5134,1000,0.1234);
            customer.setDemo(account);//把账户给顾客使用
            customer.getDemo().deposit(1000);//具体账户的方法
            customer.getDemo().withdraw(900);
            customer.getDemo().withdraw(1500);
        System.out.println(customer.getFirstName()+customer.getLastName()+"他有一个id****账户余额为"+account.getId()+"**"+account.getBalance());
    }

}

注:在类与类的使用中,注意set,get构参的使用,在调用第二个类时,把它看一个整体,在用它的具体属性,具体方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值