读书人

Java内部类模拟兑现多继承

发布时间: 2012-08-19 21:09:48 作者: rapoo

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多继承。

读书人网 >移动开发

热点推荐