java-This关键字的使用

本文详细介绍了Java编程中this关键字在类定义(如Customer,Account,Bank和Person)中的属性设置、get和set方法以及构造器的运用,通过实例展示了如何创建对象并操作其内部属性。
摘要由CSDN通过智能技术生成

This在Java代码中的运用格式为:

public Customer(String f,String l) {
    this.firstName = f;
    this.lastName = l;

}

其中this可以指代的是属性、方法等。例子中指代的为属性。

关于This的一道例题:

创建三个类:Customer  Account(但我用的是Person名字)   Bank,分别创建它们三个的私人属性,并设置get方法、set方法、构造器。

Customer类:

public class Customer {
    private String firstName;
    private String lastName;
    private Person account;

    public Customer(String f,String l) {
        this.firstName = f;
        this.lastName = l;

    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public Person getAccount() {
        return account;
    }

    public void setAccount(Person account) {
        this.account = account;
    }
}

Bank类:

public class Bank {
    private Customer[] customers;
    private int numberOfCustomer;

    public Bank(){
        customers=new Customer[10];
    }

    //将指定姓名的客户保存在银行的客户列表里
    public void addCustomer(String f,String l){
        Customer cust =new Customer(f, l);
        customers[numberOfCustomer]=cust;
        numberOfCustomer++;
    }

    public int getNumberOfCustomer() {
        return numberOfCustomer;
    }

    //获取指定位置上索引的用户
    public Customer getCustomers(int index) {
        if (index<0||index>numberOfCustomer){
            return null;
        }else{
            return customers[index];
        }
    }
}

Person类:

public class Person {
    private double balance;//余额

    public Person(double init_balance){
        this.balance=init_balance;
    }

    public double getBalance() {
        return balance;
    }

    public void deposit(double amt){
        if (amt > 0) {
            balance+=amt;
            System.out.println("存钱成功,存入"+amt+"元");
        }
    }

    public void withdraw(double amt){
        if (amt > 0&&amt<=balance) {
            balance-=amt;
            System.out.println("取钱成功,取出"+amt+"元");
        }else {
            System.out.println("取出金额有误");
        }
    }



}

最后创建一个Test类,取名随便即可。用来调用前三个创建的方法、构造器

public static void main(String[] args) {
        Bank bank=new Bank();
        bank.addCustomer("guosen","ma");
        bank.addCustomer("水","流");

        bank.getCustomers(0).setAccount(new Person(1000));
        bank.getCustomers(0).getAccount().withdraw(50);
        System.out.println(bank.getCustomers(0).getAccount().getBalance());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值