日期:2014-05-20 浏览次数:20784 次
interface A{} interface B{} class X implements A,B{} //状况1 class Y implements A{ //状况2 B makeB(){ return new B(){}; //{} 造成 内部类 ;这个地方理解不了 } } public class test { static void tackA(A a){} static void tackB(B b){} public static void main(String[] args) { X x=new X(); Y y=new Y(); tackA(x); tackA(y); tackB(x); tackB(y.makeB()); } }
interface A{} interface B{} class X implements A,B{} //状况1 class Y implements A{ //状况2 B makeB(){ return new B(){}; //{} 造成 内部类 ;这个地方理解不了 } } public class test { static void tackA(A a){} static void tackB(B b){} public static void main(String[] args) { X x=new X(); Y y=new Y(); tackA(x);//使用tackA(A a),X是A的实现, tackA(y);//使用tackA(A a),Y是A的实现, tackB(x);//使用tackB(B b),x是B的实现, tackB(y.makeB());//使用tackB(B,b),虽然Y没有实现B,但是其中makeB方法返回了B(new B()) } }
------解决方案--------------------