黑马程序员技术交流社区
标题:
匿名内部类为什么这样写
[打印本页]
作者:
刘家斌
时间:
2014-10-14 18:20
标题:
匿名内部类为什么这样写
主函数里面的代码是什么意思?调用的方法不是抽象的吗?
interface Inter
{
void inter();
}
class Test
{
public static Inter function()
{
return new Inter()
{
public void inter()
{
System.out.println("匿名内部类练习");
}
};
}
}
class NiMingTest
{
public static void main(String[] args)
{
Test.function().inter();
}
}
作者:
Eagle
时间:
2014-10-14 20:33
感觉还没有学到。。。
作者:
qq8921310
时间:
2014-10-14 20:35
实现了接口里的方法才可以被创建的甚至还可以起名字, 个人理解。
作者:
354620815
时间:
2014-10-14 20:40
不然怎么写。
作者:
980344791
时间:
2014-10-14 20:43
就只是这种写法习惯就好。。。
作者:
付江涛
时间:
2014-10-14 21:06
public static void main(String[] args) 为什么要这样写?
作者:
mmppp
时间:
2014-11-26 17:21
首先 Test.function(),因为function是静态的,所以用类名调用,没有问题吧。
然后,想一下,你调用了function后得到的是什么,是一个对象 new Inter(),对吧。
这个对象里面有一个方法,叫inter()。所以对象调用方法,不是.inter()吗?
只是连载一起写了 。
其实分开写就是 Test t=new Test;
Inter i = t.function();
i.inter();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2