Bootstrap

接口的定义与实现

接口的定义:
1.声明接口的关键字是interface,接口只能定义方法,
但是不能自己书写方法,只能通过实现类里面对接口定义
的方法进行重写@Override;
2.接口的本质是契约,就像法律一样,制定好后大家都要遵守;
3.接口可以通过关键字extends继承接口,且一个接口可以继承多个接口,
这一点就是与继承的区别。
4.接口所有定义的方法默认为public abstract,定义的变量默认为常量,
即public static final;

概述

1.接口本质上是一个比抽象类更加抽象的类,·而抽象类更接近一个类,只是比普通类多了抽象方法的定义。
2.抽象类只能对其子类的行为进行约束。但接口可以对实现本接口的所有类进行约束,范围更加广泛。
3.如果把抽象类比喻成国家的一部法律,接口则是一部国际法。国内法律只适用于本国,而国际法适用于所有缔约国。

定义接口:
                        interface 【interface】接口名{
                                //接口中定义的抽象方法
                        }

用类实现接口:
        implements 【类修饰符】class 类名【extends】【父类】【implements <接口列表>】{

                //实现接口中的所有抽象方法

                }

举例一:定义一个名为Biology的接口,并定义breathe()的抽象方法;
 

interface Biology{
    void breathe();
    //因为接口默认所有方法都为public abstract,所有无需额外添加
    //尤其注意接口只能定义方法,不能书写方法的内容
}

举例二:定义一个名为Person的类实现Biology接口
 

class Person implements Biology {
    @Override//对方法进行重写
    public void breathe(){//重写后的方法能输出breathe
        System.out.println("breathe");
    }
}

举例三:定义一个Animal的接口继承Biology的接口,增加eat()抽象方法
 

interface Animal extends Biology{
    void eat();
}

举例四:定义一个person的类实现B 和A两个接口
 

class person implements A,B{
    //实现类可实现多个接口,中间用逗号隔开
}

注意事项:
//实现接口的类必须实现该接口中的所有抽象方法,只要有一个抽象方法没有实现,则该类只能成为一个抽象类;
//接口中定义的方法全部默认为 public abstract的抽象方法;
//接口中定义的变量全部默认为常量,即public static final;

;