Java 如何为类对象创建形式参数?
我的指示是: 第三个构造函数应该有一个Account对象的形式参数。除了帐号之外,此构造函数创建了一个重复的帐号Java 如何为类对象创建形式参数?,java,Java,我的指示是: 第三个构造函数应该有一个Account对象的形式参数。除了帐号之外,此构造函数创建了一个重复的帐号 public class Account { private String first; private String last; private int acctNum; private double balance; public Account() { first = ""; last = "";
public class Account
{
private String first;
private String last;
private int acctNum;
private double balance;
public Account()
{
first = "";
last = "";
acctNum = (int)Math.random()* 1000;
}
public Account(String f, String l, double b)
{
first = f;
last = l;
balance = b;
}
public Account()
{
}
}
正确的方法:
运行示例:
public class Main {
public static void main(String [] args){
//fist Option
Account firstAccount = new Account();
firstAccount.setBalance(100);
firstAccount.setFirstName("jhon");
firstAccount.setLastName("ker");
System.out.println(firstAccount.toString());
//second Option
Account secondAccount = new Account("alex","alex",1000);
System.out.println(secondAccount.toString());
}
}
publiccount(accounttoclone){…}
也应该可以工作,您没有问这个问题,但是有三个参数的构造函数不会初始化acctNum
。谷歌的“复制构造函数”,在你的情况下,这是一个“纯复制”,因为你生成了一个字段。如果这是一个练习,你需要学习,在要求别人解决你的问题之前,我猜你已经尝试了一些东西,所以你可以学习,那么你尝试了什么?OP说“除了账号”。我为你编辑了它
public class Account {
private String firstName;
private String lastName;
private int accountNumber;
private double balance;
public Account()
{
Random random = new Random();
this.accountNumber = random.nextInt(1000);
}
public Account(String firstName, String lastName, double balance)
{
Random random = new Random();
this.accountNumber = random.nextInt(1000);
this.firstName = firstName;
this.lastName = lastName;
this.balance = balance;
}
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 int getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(int accountNumber) {
this.accountNumber = accountNumber;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
@Override
public String toString() {
return "Account{" +
"firstName='" + firstName + '\'' +
", lastName='" + lastName + '\'' +
", accountNumber=" + accountNumber +
", balance=" + balance +
'}';
}
}
public class Main {
public static void main(String [] args){
//fist Option
Account firstAccount = new Account();
firstAccount.setBalance(100);
firstAccount.setFirstName("jhon");
firstAccount.setLastName("ker");
System.out.println(firstAccount.toString());
//second Option
Account secondAccount = new Account("alex","alex",1000);
System.out.println(secondAccount.toString());
}
}