今天写了一个练习的代码:
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字符串,希望可以从网友中得到详细的解答。