黑马程序员技术交流社区
标题:
匿名内部类
[打印本页]
作者:
ztwztw
时间:
2013-12-16 16:04
标题:
匿名内部类
Interface Test
{
void func();
}
class Demo
{
public static void main(Sstring[] args)
补足代码,用匿名内部类;
void show(Test t)
t.func();
}
作者:
四五六七八
时间:
2013-12-16 16:27
匿名类是不能有名称的类。必须在创建时,作为new语句的一部分来声明它们。
new Test(){
重写func()
}
//想lz这样调用时不行的,只能创建匿名内部类的一个实例 因此一般用作监听器
void show(Test t)
t.func();
作者:
末末
时间:
2013-12-16 17:06
改了一下,你这样不行的
interface Test
{
void func();
}
class Test2
{
static Test function()
{
return new Test()
{
public void func()
{
System.out.println("func");
}
};
}
}
class Demo4
{
public static void main(String[] args)
{
Test2.function().func();
}
}
复制代码
作者:
hurryup
时间:
2013-12-16 17:39
补足代码如下:
interface Test
{
void func();
}
public class Demo
{
public static void main(String[] args)
{
//补足代码,用匿名内部类;
new Test(){
public void func(){System.out.println("Hello World!");}
void show(Test t)
{
t.func();
}
}.func();
}
}
复制代码
作者:
Diaraelo
时间:
2013-12-16 17:40
本帖最后由 Diaraelo 于 2013-12-16 17:56 编辑
interface Test
{
void func();
}
public class T1
{
public static void main(String[] args)
{
show(new Test()
{
public void func()
{
System.out.println("我是匿名内部类");
}
});
}
public static void show(Test t)
{
t.func();
}
}
复制代码
楼主代码问题说得有点不清楚,不知道最后的void show(Test t) 和 t.func() 是已经存在还是改变他们什么的,不过我理解大概想要的是这个意思吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2