我做的一个程序,不知道怎么改:
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;
 }

}

解决方案 »

  1.   

    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;
     }
    }
      

  2.   

    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(){}
     };
     
     }}
    可以通过匿名的内部类来实现