日期:2014-05-18  浏览次数:20642 次

求解决!!引用外部类的对象问题
public class  ClassTest
{
public int i = 4;
public class Test
{
public void print()
{
System.out.println("i = "+ClassTest.this);
}
}
public static void main(String[] args) 
{
ClassTest.Test ctt = new ClassTest().new Test();
ctt.print();
}
}
为什么在内部类引用外部类时 i = ClassTest@.... 了
还有就是写了tostring()方法时, ClassTest.shis调用的是tostring()方法的返回值.
  新手  给位大虾回答下  谢谢!!!

------解决方案--------------------

这是有toString()方法的结果。

这是没有toString()方法的结果。

这个问题呢,就是由于那个 this造成的,具体的话,可能你得去看看java的api了。哦对了,那个ClassTest$Test@150bd4d  这个东西是哈希码,就是在内存中的位置,应该是个对象。