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

简介: jjava的privete 修饰的方法或者类 都只能在本类或者外部类中访问   、在内部私有类基础上返回 私有类实现对象   代码interface Animal   //Animal接口  { void eat();}class zoo   { Animal GetAnimal() { ...

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

 

 

 

 

 

 

 

 

 

 

 

 

目录
相关文章
|
1天前
|
存储 Java
Java动态转发代理IP的实现方法
Java动态转发代理IP的实现方法
17 11
|
1天前
|
JavaScript Java 测试技术
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
4 0
|
1天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
2天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
21 1
|
2天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
19 0
|
2天前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
5 0
Java接口中可以定义哪些方法?
|
4天前
|
设计模式 Java
Java接口与抽象类
Java接口与抽象类
15 0
|
8天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
10 0
|
8天前
|
Java
Java中的继承和多态是什么?请举例说明。
Java中,继承让子类继承父类属性和方法,如`class Child extends Parent`,子类可重写父类方法。多态允许父类引用指向子类对象,如`Animal a = new Dog()`,调用`a.makeSound()`会根据实际对象类型动态绑定相应实现,增强了代码灵活性和可扩展性。
10 0
|
15天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
13 3