Java 如何为类对象创建形式参数?

Java 如何为类对象创建形式参数?,java,Java,我的指示是: 第三个构造函数应该有一个Account对象的形式参数。除了帐号之外,此构造函数创建了一个重复的帐号 public class Account { private String first; private String last; private int acctNum; private double balance; public Account() { first = ""; last = "";

我的指示是: 第三个构造函数应该有一个Account对象的形式参数。除了帐号之外,此构造函数创建了一个重复的帐号

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


  }
}