Abstract java

原创
2017/09/05 09:25
阅读数 142
先建立一个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);
    }
}
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部