這個問題在這里已經有了答案: Java 3答案 中'System.out.println()'和'toString()'之間的連接 1 小時前關閉。
我想知道 toString() 方法在列印出物件時如何運行而不被呼叫。
代碼可視化:
沒有 toString() 方法:
public class Shop
{
Shop()
{
}
public static void main(String[] args)
{
Shop myShop = new Shop();
System.out.println(myShop);
}
}
結果:Shop@3421
使用 toString() 方法:
public class Shop
{
Shop()
{
}
public void toString()
{
return "I am a shop";
}
public static void main(String[] args)
{
Shop myShop = new Shop();
System.out.println(myShop);
}
}
結果:I am a shop
。該toString
方法運行但從未被呼叫?如何?
uj5u.com熱心網友回復:
toString
確實會被叫 - 只是不是你!println
以 anObject
作為引數。由于 Object 有一個toString
方法(您在運行第一個代碼段時看到的默認方法),該方法println
將在將輸出放入.Object
toString
System.out
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/515358.html
標籤:爪哇
上一篇:如何在C 中使用cURLc_str()函式將向量元素插入鏈接?
下一篇:嵌套for回圈以比較char陣列