能够通过类名直接调用方法,说明该方法是静态的,当类加载进内存的时候它就已经存在了。
通过调用 Test.function(),返回一个接口类型的对象,我们知道接口是不能创建对象的,所以我们只能返回接口的一个匿名子类对象,
最后才能调用method()方法.
代码如下:- interface Inter
- {
- void method();
- }
- class Test
- {
- //补足代码,通过匿名内部类。
- public 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();
- }
- }
复制代码 |