System.out.println(refVar name) 如何给出此示例网站显示的输出?我明白为什么显示“Simcard 对象构造”,但为什么其余字段以特定顺序显示:“为诺基亚 1100 构造的新 Sim 卡”。
我的理解是,字段不能仅仅通过调用引用名称来输出。
( http://www.hubberspot.com/2012/07/how-composition-has-relationship-works.html )
class SimCard {
private String cardNumber;
public SimCard(){
System.out.println("SimCard Object Constructed");
cardNumber = "New SimCard Constructed";
}
@Override
public String toString() {
return cardNumber;
}
}
public class Mobile {
private SimCard sim = new SimCard();
private String mobile = "Nokia";
private int model = 1100;
@Override
public String toString() {
return sim + " for " + mobile + " " + model;
}
public static void main(String[] args) {
Mobile mob = new Mobile();
System.out.println(mob);
}
}
最佳答案
当您创建新实例时,手机/模型就会被创建
Mobile mob = new Mobile()
它们被设置为类中指定的默认值。
然后,当您输出该类时,会调用覆盖的 String 方法,该方法将输出返回到 main 并进行打印。
关于java - System.out.println(refVar name) 的控制台显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172547/