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 ,