日期:2014-05-20  浏览次数:20865 次

怎么样返回一个接口类型
我做的一个程序,不知道怎么改:
public   class   TestInterface   {
public   static   void   main(String[]   args)   {
//   TODO:   Add   your   code   here
B   b=new   B();
A   a=B.re();
}
}
interface   A{
    public   void   run();
    public   void   start();
}
class   B{
  public   static A     re(){
  return   A;
  }

}

------解决方案--------------------
public class TestInterface {
public static void main(String[] args) {
// TODO: Add your code here
B b=new B();
A a=b.re();
a.run();
a.start();
}
}
interface A{
public void run();
public void start();
}
class AImpl implements A{
public void run(){
System.out.println( "Calling Aimpl.run() ");
}
public void start(){
System.out.println( "Calling Aimpl.start() ");
}
}
class B{
AImpl a;
public B(){
a=new AImpl();
}
public A re(){
return a;
}
}
------解决方案--------------------
public class TestInterface {
public static void main(String[] args) {
// TODO: Add your code here
B b=new B();
A a=B.re();
}
}
interface A{
public void run();
public void start();
}
class B{
public static A re(){
return new A()
{
public void run(){}
public void start(){}
};

}

}
可以通过匿名的内部类来实现