Java使用重载和this关键字来完善之前的程序:给Account类增加多个构造方法,包括无参构造、单参数构造和多参数构造;在主函数中使用带参数的构造方法实例化账户对象。
时间: 2024-09-20 19:15:14 浏览: 38
在Java中,你可以通过重载构造函数来提供多种创建对象的方式,使得客户端可以根据需要选择合适的初始化方式。`this` 关键字在构造函数内部用于引用当前正在构造的对象实例。
首先,让我们看如何在 `Account` 类中添加三个不同的构造方法:
```java
public class Account {
private String name;
private double balance;
// 无参构造
public Account() {
this.name = "匿名账户";
this.balance = 0.0;
}
// 单参数构造,接收名称
public Account(String name) {
this.name = name;
this.balance = 0.0;
}
// 多参数构造,接收名称和初始余额
public Account(String name, double initialBalance) {
this.name = name;
this.balance = initialBalance;
}
// 使用this关键字可以在构造函数内部调用其他构造方法
public Account(Account other) {
this(name = other.getName(), balance = other.getBalance());
}
// getter和setter方法...
}
```
在主函数 `main()` 中,你可以像这样使用带参数的构造方法来创建账户对象:
```java
public static void main(String[] args) {
// 创建一个匿名账户
Account anonymousAccount = new Account();
// 创建指定名称的账户
Account namedAccount = new Account("Alice");
// 使用已存在的账户作为基础创建新的账户
Account inheritedAccount = new Account(new Account("Bob", 500.0));
System.out.println(anonymousAccount.getName()); // 输出匿名账户名
System.out.println(namedAccount.getBalance()); // 输出Alice账户余额
System.out.println(inheritedAccount.getName()); // 输出Bob账户名
}
```
阅读全文