java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天

jjava的privete 修饰的方法或者类 都只能在本类或者外部类中访问  

在内部私有类基础上返回 私有类实现对象   代码

interface Animal   //Animal接口 
{
 void eat();
}
class zoo  
{
 Animal GetAnimal()
 {
  return new Animal()
  {
   public void eat()
   {
    System.out.println("animal eat");
   } 
  }; 
 
}
Tiger GetTiger ()
{
 return  new Tiger();
}

private  class Tiger implements Animal   //私有类 实现了 Animal接口
{
 public   void   eat()
 {
  System.out.println("eating");
}
}
}
class Test
{
 public static void main(String []args)
 {
  zoo z=new zoo();  //先定义外部类对象
   Animal a=z.GetTiger();  //我们不能通过zoo对象定义Tiger对象因为 Tiger类是私有的
   a.eat(); 
}
}

 

 

2. 

 

既是派生类 又是接口实现类  如果有函数重复 可以通过内部类解决 代码如下

interface Machine   //Machine接口 
{
 void run();
}
class person  //超类
{
 void run()
 {
  System.out.println("run");
 }
}

class Robot extends person   //从person派生出来
{
 private class RobotHeart  implements Machine   //为了更好隐藏将内部实现类声明为私有
 {
  public  void run()  //接口的实现函数
  {
   System.out.println("RobotHeart Run");
  }
 }
 Machine GetMachine()  //返回 Machine 接口的实现
 {
  return  new RobotHeart();
 }
  
}

class Test
{
 public static void main(String []args)
 {
  Robot r=new Robot();  //实例化一个外部类
  Machine m=r.GetMachine(); //返回一个Machine对象
  r.run();
  m.run();
  
  
 }
 
 
 
 
}

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:如何通过ECS和云数据库Redis版建立连接?


下一篇:asp.net 动态添加JavaScript方法