}
}
功能
功能:主要是完成对象数据的初始化
注意事项
构造方法的创建
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载
如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法
推荐的使用方式
无论是否使用,都手工书写无参数构造方法
标准类制作
使用private修饰
构造方法
提供一个无参构造方法
提供一个带多个参数的构造方法
成员方法
提供每一个成员变量对应的setXxx()/getXxx()
提供一个显示对象信息的show()
创建对象并为其成员变量赋值的两种方式
无参构造方法创建对象后使用setXxx()赋值
使用带参构造方法直接创建带有属性值的对象
封装应用测试案例
写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),取款方法withdraw(),存款方法deposit()。
/*提示:在提款方法withdraw中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。*/
创建Customer类。
/*
a. 声明三个私有对象属性:firstName、lastName和account。
b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f和l)
c. 声明两个公有存取器来访问该对象属性,方法getFirstName和getLastName返回相应的属性。
d. 声明setAccount 方法来对account属性赋值。
e. 声明getAccount 方法以获取account属性。
*/
写一个测试程序。
(1)创建一个Customer ,名字叫 Jane Smith, 他有一个账号为1000,余额为2000元,年利率为 1.23% 的账户。
(2)对Jane Smith操作。
存入 100 元,再取出960元。再取出2000元。
打印出Jane Smith 的基本信息
效果如图:
成功存入 :100.0
成功取出:960.0
余额不足,取款失败
代码执行:
public class Account02 { private int id; private double balance; private double annualInterestRate; public Account02(){ super(); } public Account02 (int id, double balance, double annualInterestRate ){ this.id=id; 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 withdraw (double amount){ if(amount<this.balance){ this.balance-=amount; System.out.println(“成功取出:”+amount); }else { System.out.println(“余额不足,取款失败”); } } public void deposit(double amount) { if (amount > 0) { this.balance += amount; System.out.println(“成功存入:” + amount); } } } public class Customer02 { private String firstName; private String lastName; private Account02 account02; public Customer02(String f,String l){ this.firstName=f; this.lastName=l; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) {