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

 

 

 

 

 

 

 

 

 

 

 

 

目录
相关文章
|
6天前
|
Java
判断不为空和不为空串的方法java
判断不为空和不为空串的方法java
|
4天前
|
网络协议 Java
Java中如何使用Socket类检测端口是否存在
Java中如何使用Socket类检测端口是否存在
20 4
|
4天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
18 3
|
4天前
|
存储 Java
Java的`java.io`包包含多种输入输出类
Java的`java.io`包包含多种输入输出类。此示例展示如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着分配一个`byte`数组存储流中的数据。通过`read()`方法读取数据,然后将字节数组转换为字符串打印。最后关闭输入流释放资源。`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
13 1
|
6天前
|
Java 开发者
Java中三种Set的实现类的用法和区别
Java中三种Set的实现类的用法和区别
|
5月前
|
Java
多线程与并发,Java中介绍一下Thread类和Runnable接口的区别。
多线程与并发,Java中介绍一下Thread类和Runnable接口的区别。
33 1
|
5月前
|
Java Unix 程序员
java 8 新特性讲解Optional类--Fork/Join 框架--新时间日期API--以及接口的新特性和注解
java 8 新特性讲解Optional类--Fork/Join 框架--新时间日期API--以及接口的新特性和注解
62 1
|
12天前
|
Java
一文搞清楚Java中的包、类、接口
包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。
31 10
|
28天前
|
Java
Java中的多线程实现:使用Thread类与Runnable接口
【4月更文挑战第8天】本文将详细介绍Java中实现多线程的两种方法:使用Thread类和实现Runnable接口。我们将通过实例代码展示如何创建和管理线程,以及如何处理线程同步问题。最后,我们将比较这两种方法的优缺点,以帮助读者在实际开发中选择合适的多线程实现方式。
24 4
|
2月前
|
Java 编译器
[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符
[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符