当前位置:编程学习 > JAVA >>

Java内部类模拟实现多继承

package com.test;

/**
 *  橡皮类
 * */
public abstract class Eraser {
            public abstract void erase();
}
package com.test;
/**
 *  铅笔类
 * */
public abstract class Pencil {
             public abstract void wirte();
}
package com.test;
/**
 *  做一个既有铅笔功能又有橡皮擦功能类
 *  (用接口完全可以实现,这里只是假设这种情况,模拟多继承)
 * */
public class PencilWithEraser{


 private MyPencil pencil = new MyPencil();
 private MyEraser eraser = new MyEraser();


 /**
  *
  * 继承了铅笔的功能
  *
  * */
 private class MyPencil extends Pencil{

  @Override
  public void wirte() {
   System.out.println("use to wirte");
  }
 
 
 }
/*写一个既有笔功能又有橡皮侧功能的类

**/

 private class MyEraser extends Eraser {

  @Override
  public void erase() {
            System.out.println("use to erase");
  }
 
 }
 /*
  * 本类自己的方法
  * */
 public void wirte(){
               pencil.wirte();
 }


 public void eraser(){
                eraser.erase();
   }
}

测试类

package com.test;

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  PencilWithEraser pencilWithEraser = new PencilWithEraser();
                   pencilWithEraser.wirte();
                   pencilWithEraser.eraser();
 }

}
这个类既有笔又有橡皮擦功能了。模拟实现了Java多继承。

 


作者:oh_Mourinho
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,