System.out.println的控制台显示(refVar名称)

时间:2014-08-07 00:45:09

标签: java

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

       }

  }

1 个答案:

答案 0 :(得分:1)

创建新实例时会创建移动/模型

Mobile mob = new Mobile()

它们被设置为类中指定的默认值。
然后,当您输出类时,将调用覆盖的String方法,该方法将输出返回到main并打印出来。