日期:2014-05-20 浏览次数:20903 次
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())
}
}
------解决方案--------------------