java study 003--the method is the same, resolve way---inner class

来源:互联网 发布:oracle数据字典怎么用 编辑:程序博客网 时间:2024/06/08 09:22


interface Machine
{
 void run();
}

class persion
{
 void run()
 {
  System.out.println("persion run");
 }
}

//当一个类继承的类和实现的接口中的方法重复时,可以用内部类去解决
class robet extends persion
{
  class machinhear implements Machine
  {
   public void run()
   {
    System.out.println("machine run");
   }
  }
 
  public Machine getMachine()
  {
   return new machinhear();
  }
}


public class testMachin {

 public static void main(String[] args) {
  
  robet r = new robet();
  Machine m = r.getMachine();
  m.run();
  r.run();
 }
}

 

 

public class testMachin {

 static void  meth1(A a)
 {
  a.f1();
 }
 static void meth2(B b)
 {
  b.f2();
 }
 
 public static void main(String[] args) {
  
  /*robet r = new robet();
  Machine m = r.getMachine();
  m.run();
  r.run();*/
  
  
  C c= new C();
  
  B b = c.gerb();
  meth1(c);
  meth2(b);
 }
}


class A
{
 void f1()
 {}
}
abstract class B
{
 abstract void f2();
}

class C extends A
{
  B gerb()
  {
   return new B() {
    
    @Override
    void f2() {
     // TODO Auto-generated method stub
     
    }
   };
  }
}

 

原创粉丝点击