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()); } }