先建立一个abstract
package Abstract;
public abstract class USB {
public abstract void start();//usb设备的启动方法,没有实现
public abstract void stop();//usb设备的停止方法,没有实现
}
建立一个子类 继承父类
package Abstract;
public class Toshiha extends USB {
@Override
public void start() {
System.out.println("东芝优盘启动");
}
@Override
public void stop() {
System.out.println("东芝优盘停止");
}
}
}
建立一个子类 继承父类
package Abstract;
public class SanDisk extends USB {
@Override
public void start() {
System.out.println("闪迪优盘启动");
}
@Override
public void stop() {
System.out.println("闪迪优盘停止");
}
}
里式代换原则 通过父类引用子类对象
package Abstract;
public class MainBoard {
public void insert(USB usb){
usb.start();//里式代换原则
}
public void outside(USB usb){
usb.stop();
}
}
测试内容
package Abstract;
public class Text {
/* class QiCai extends USB{
@Override
public void start() {
System.out.println("七彩优盘启动");
}
@Override
public void stop() {
System.out.println("七彩优盘停止");
}
}*/
public static void main(String[]args){
MainBoard mb=new MainBoard();
Toshiha tsb=new Toshiha();
mb.insert(tsb);
SanDisk sd=new SanDisk();
mb.insert(sd);
USB qc=new USB(){
@Override
public void start() {
System.out.println("七彩优盘启动");
}
@Override
public void stop() {
System.out.println("七彩优盘停止");
}
};
USB sd2=new USB(){//匿名内部内
@Override
public void start() {
System.out.println("闪迪优盘启动");
}
@Override
public void stop() {
System.out.println("闪迪优盘停止");
}
};
mb.insert(qc);
mb.outside(sd2);
}
}