(final) 接口

java中的final关键字的作用:1、用来修饰一个引用;2、用来修饰一个方法;3、用来修饰类。当final修饰方法时,这个方法会成为最终方法,无法被子类重写。

java中的final关键字的作用:

1、用来修饰一个引用;

2、用来修饰一个方法;

3、用来修饰类。

当final修饰方法时,这个方法会成为最终方法,无法被子类重写

 

 

 

 

 

public class InterfaceText {
    public static void main(String[] args) {
        System.out.println(Flyable.MAX_SPEED);
        System.out.println(Flyable.MIN_SPEED);
        Plane pl =new Plane();
        pl.fly();
    }
}
interface Flyable{
    //全局常量
    public static final int MAX_SPEED=7900;
    int MIN_SPEED=1;//可以省略public static final

    //抽象方法
    public abstract void fly();
    //省略了public abstract
    void stop();

}

class Plane implements Flyable{
    public void fly(){
        System.out.println("起飞");
    }
    public void stop(){
        System.out.println("停止");
    }

   /*abstract*/ class Kite implements Flyable{
//@Override 的作用是:如果想重写父类的方法,
// 比如toString()方法的话,在方法前面加上@Override
// 系统可以帮你检查方法的正确性。
        @Override
        public void fly() {

        }
        @Override
        public void stop() {

        }
    }
}

实例演示接口是一种规范

public class USBTest {

    public static void main(String[] args) {
        Flash fl =new Flash();//使用哪个子类接口
        fl.start();
        dayin dy =new dayin();//实例化使用接口

        diannao dn=new diannao();
        dn.transferData(dy);


    }
}

class diannao{//使用接口
    public void transferData(USB us){//USB us =new Flash();
        us.start();
        System.out.println("传输");
        us.stop();
    }
}

interface USB{//定义一个接口
    void start();
    public abstract void  stop();
}

class Flash implements USB{//实现接口1
    @Override
    public void start() {
        System.out.println("u盘开启");
    }
    @Override
    public void stop() {
        System.out.println("u盘关闭");
    }
}

class dayin implements USB{//实现接口2
    @Override
    public void start() {
        System.out.println("打印机开启");
    }
    @Override
    public void stop() {
        System.out.println("打印机关闭");
    }
}

1,2,3,4种方法

   diannao dn=new diannao();
        //前面是对象,后面是实现类
        Flash fl =new Flash();//使用哪个子类接口。1.创建了接口的非匿名实现类的非匿名对象
        fl.start();
            //2.创捷了接口的非匿名实现类的匿名对象
            dn.transferData(new dayin());
            //3.创建了接口的匿名实现类的非匿名对象
            USB phone = new USB() {
                @Override
                public void start() {
                    System.out.println("手机开启");
                }
                @Override
                public void stop() {
                    System.out.println("手机关机");
                }
            };
            dn.transferData(phone);

        dayin dy =new dayin();//实例化使用接口
        dn.transferData(dy);
        //4.创建了接口的匿名实现类的匿名对象
        dn.transferData(new USB() {
            @Override
            public void start() {
                System.out.println("手机开启");
            }
            @Override
            public void stop() {
                System.out.println("手机关机");
            }
        });

    }
}

 

posted @ 2021-03-11 11:15  谷先生  阅读(348)  评论(0)    收藏  举报