日期:2014-05-20 浏览次数:20765 次
interface A { public void xx(); } interface B { public int xx(); } public class C implements A,B { public C() { } public void A.xx(){ // } public int B.xx(){ // } public static void main(String[] args) { C cc = new C(); } }
------解决方案--------------------
我觉得曲线实现:
1、用一个类来实现interface A中的xx()方法,第二个类实现interface B中的xx()方法,同时在第二个类中继承第一个类。
2、用一个类来实现interface A中的xx()方法,同时在这个类中声明一个匿名内部类,这个匿名内部类实现interface B中的xx()方法。
------解决方案--------------------
interface A { public void xx(); } interface B { public int xx(); } public class C implements A { //类C实现A接口 private int a = 0; private int b = 1; public void xx() { //A接口中的xx()方法 System.out.println(a); } public int ShowB() { CC cc1 = new CC(); return cc1.xx(); } class CC implements B { //内部类CC实现B接口 public int xx() { //B接口的xx()方法 return b; } } public static void main(String[] args) { C c1 = new C(); c1.xx(); //调用实现接口A中的xx()方法,输出a值 System.out.println(c1.ShowB());//调用ShowB方法来调用在内部类中实现接口B的方法xx(),输出b值 } }
------解决方案--------------------
package com.llh.Test; interface A { public void xx(); } interface B { public int xx(); } class C implements A { class BB implements B { public int xx() { System.out.println("B.xx()"); return 0; } } public B getB() { return new BB(); } public void xx() { System.out.println("A.xx()"); } } public class Test2 { public static void main(String[] args) { C c = new C(); c.xx(); //直接创建内部类对象 C.BB b = c.new BB(); b.xx(); //通过方法获得内部类对象引用 象