黑马程序员技术交流社区
标题:
关于访问内部类方法的问题
[打印本页]
作者:
杨博
时间:
2013-3-16 22:31
标题:
关于访问内部类方法的问题
本帖最后由 杨博 于 2013-3-16 23:15 编辑
class Test1
{
public static void main(String[] args)
{
Outer out=new Outer();
myInter obj=out.show();
obj.print();
}
}
class Outer
{
public myInter show(){
class Inner implements myInter
{
public void print(){
System.out.println("print msg");
}
}
Inner in=new Inner();
return in;
}
}
interface myInter
{
void print();
}
复制代码
为什么我想直接访问内部类方法:Object obj=new Outer().show();不成功,为什么做了接口,能成功访问,我的疑问是,myInter obj=out.show();这个运行,怎么就能访问到了,求解答
作者:
我自信我很牛
时间:
2013-3-16 22:48
这个是影藏的工厂模式,outer的show方法制造了一个接口实现的内部类的对象,这样就是父类引用指向了子类对象,这样就可以直接调用子类特有的方法了。
作者:
我自信我很牛
时间:
2013-3-16 22:54
最后一句错了,是子类重写父类的方法。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2