Java中的重写打印方法

Java中的重写打印方法,java,arraylist,methods,overriding,Java,Arraylist,Methods,Overriding,我有一个(语法?)问题,关于数组列表的重写toString方法和get方法 我的第一个名为BAccount的类创建了一个包含名称、余额和帐号的对象 public class BAccount { private static int lastAssignedNumber=1000; String uName; double uBalance; private int accountNumber; public BAccount(String name, double balance) {

我有一个(语法?)问题,关于数组列表的重写toString方法和get方法

我的第一个名为BAccount的类创建了一个包含名称、余额和帐号的对象

public class BAccount { 
private static int lastAssignedNumber=1000;
String uName;
double uBalance;
private int accountNumber;
public BAccount(String name, double balance) {
    uName=name;
    lastAssignedNumber++;
    uBalance=balance;
    accountNumber=lastAssignedNumber;
}

public void setName(String inputName) { 
    uName=inputName;
}

public void setBalance(double inputBalance) {
    uBalance=inputBalance;
}

public String getName() {
    return uName;
}

public double getBalance() {
    return uBalance;
}

public int getAccountNumber() {
    return accountNumber;
}

public String toString() { 
    return ("Account Holder Name: " + this.getName() +
            ", Acccount Balance: " + this.getBalance() +
            ", Account Number: " + this.getAccountNumber());
}
我的tester类创建3个帐户,将它们添加到ArrayList中,并使用get方法打印每个帐户

import java.util.*;
public class Test { 
public static void main(String[] args) { 
    Scanner in=new Scanner(System.in);
    ArrayList<BAccount> accountArray=new ArrayList<>();
    for(int i=0; i<3; i++) { 
    System.out.print("Enter Account Holder Name: ");
    String name=in.nextLine();
    System.out.print("Enter Account Balance: ");
    double balance=in.nextDouble();
    in.nextLine();
    BAccount account= new BAccount(name, balance);
    accountArray.add(account);
    }
    System.out.println(accountArray.get(0));
    System.out.println(accountArray.get(1));
    System.out.println(accountArray.get(2));
}
import java.util.*;
公共类测试{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
ArrayList accountArray=新的ArrayList();
for(int i=0;iArrayList.get()不知道这一点

此方法只返回对存储在给定get()的索引处的对象的引用

最后是println()在该对象上调用toString()。在Java中,要调用的方法的确切版本是从对象的确切类型派生的—在运行时是动态的。这称为多态性,只是OO编程的基石


该对象是您的类的一个实例,它已经重写了toString()…导致了期望的和完全期望的结果。

PrintStream.println(对象);
调用了您已经重写的
object.toString()。