黑马程序员技术交流社区
标题:
关于匿名内部类补足代码的问题
[打印本页]
作者:
我为你着迷
时间:
2014-10-30 16:01
标题:
关于匿名内部类补足代码的问题
本帖最后由 我为你着迷 于 2014-10-30 16:03 编辑
interface Inter
{
void method();
}
class Test
{
//补足代码。通过匿名内部类。
/*
//有名字的,使用内部类形式
static class Inner implements Inter
{
public void method()
{
System.out.println("method run");
}
}
static Inter function()
{
return new Inner();
}
*/
static Inter function()
{
return new Inter()
{
public void method()
{
System.out.println("method run");
}
};
}
}
class InnerClassTest
{
public static void main(String[] args)
{
Test.function().method();
/*
Inter in=Test.function();
in.method();
*/
}
}
复制代码
.method():代表的是function这个方法运算后的结果是一个对象,而且是一个Inter类型的对象。
大伙好 我的问题是为什么返回的是一个Inter类型的对象呢 这句话该怎么理解啊 。我始终想不明白啊 没救了
作者:
何丛
时间:
2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象
作者:
Eagle
时间:
2014-10-30 16:44
看这代码有点痛苦、、、
作者:
我为你着迷
时间:
2014-10-30 17:21
何丛 发表于 2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象
那为什么返回的不是Inter创建的对象呢
作者:
何丛
时间:
2014-10-30 18:13
何丛 发表于 2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象
Inter是一个接口,只能用它的实现类来实例化
作者:
苑桥别馆
时间:
2014-10-30 22:06
代码比较麻烦,看一会
作者:
苑桥别馆
时间:
2014-10-30 22:08
代码比较麻烦,看一会
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2