日期:2014-05-20 浏览次数:20950 次
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();
//通过方法获得内部类对象引用
象