System.out.println(refVar名称)如何给出此示例网站显示的输出?我理解为什么会显示“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);
}
}
答案 0 :(得分:1)
创建新实例时会创建移动/模型
Mobile mob = new Mobile()
它们被设置为类中指定的默认值。
然后,当您输出类时,将调用覆盖的String方法,该方法将输出返回到main并打印出来。