本帖最后由 hacket 于 2013-6-8 12:26 编辑
- class Outer
- {
- //内部类
- class InnerClass
- {
- void show()
- {
- System.out.println("类InnerClass中的show()...");
- }
- }
- //内部接口
- interface InnerInterface
- {
- void show();
- }
- void show()
- {
- //方法中通过匿名实现方式调用
- new InnerInterface()
- {
- public void show()
- {
- System.out.println("接口InnerClass中的show()...类Outer中show()中的InnerInterface的show()...");
- }
- }.show();
- }
- }
- public class ClassInterface
- {
- public static void main(String[] args)
- {
- Outer outer = new Outer();
- //outer.new InnerClass().show(); //方式1、外部类调用内部类中的方法show() ---成功
-
- //outer.show(); //方式2、类Outer中通过匿名实现方式调用 ---成功
-
- //方式3、外部类中通过匿名实现方式调用
- outer.new InnerInterface()
- {
- public void show()
- {
- System.out.println("接口InnerClass中的show()...");
- }
- }.show();
- /*
- 上面的这句报的错误:
- ClassInterface.java:40: 错误: 匿名类实现接口; 不能有限定符 - 对于新
- outer.new InnerInterface()
- 1 个错误
- */
- }
- }
复制代码 错误看代码中,第二种方式可以,但第三种方式报错了。。。
|