今天寫了一個練習的代碼:
class Outer2
{
private final String data;
class Inner
{
Inner()
{
};
public String toString()
{
return data;
}
}
Outer2(String str)
{
this.data=str;
}
Inner getInner()
{
return new Inner();
}
public static void main(String[] args)
{
Outer2 a = new Outer2("Hello");
Outer2.Inner o=a.getInner();
System.out.println(o.toString());
}
}
最終結果是Hello字符串的地址,顯然這不是我們想要的結果,估計應該是覆寫了Object類中的toString方法的原因
改進後代碼爲:
class Outer2
{
private final String data;
class Inner
{
Inner()
{
};
public String to()
{
return data;
}
}
Outer2(String str)
{
this.data=str;
}
Inner getInner()
{
return new Inner();
}
public static void main(String[] args)
{
Outer2 a = new Outer2("Hello");
Outer2.Inner o=a.getInner();
System.out.println(o.to());
}
}
可以正確顯示Hello字符串,希望可以從網友中得到詳細的解答。