JAVA接口 --笔记

接口是一种更深层次的抽象,我们可将其想象为一种”纯“抽象类。它和抽象类相似,但它的成员方法都是抽象方法。
Java中定义接口使用关键词interface
接口的成员方法默认为抽象的、公有的,成员属性默认为静态的、final修饰的。接口只是提供一种形式,具体的实现细节交由实现它的类完成。一个类实现一个接口使用关键词implements,与继承相似,但一个类可以实现多个接口。
例:

interface Flyable{
    void fly();
}
abstract class Animal{
    int age;
    Animal(int a){
        age=a;
    }
    int getAge(){
        return age;
    }
    abstract void speak();//抽象方法
}
class Bird extends Animal implements Flyable{
    Bird(int a){
        super(a);
    }
    public void fly(){
        System.out.println("Bird is flying");
    }
    void speak(){
        System.out.println("Bird is speaking");
    }
}
class Plane implements Flyable{
    String type;
    Plane(String t){
        type=t;
    }
    public void fly(){
        System.out.println("Plane is flying");
    }
}
public class FlyableDemo {
    public static void main(String args[]){
        Bird b=new Bird(2);
        Plane p=new Plane("air plane");
        System.out.println("The age of Bird is"+b.getAge());
       b.fly();
        p.fly();
    }
}

程序结果:
The age of Bird is2
Bird is flying
Plane is flying

程序结果说明:
程序定义了接口Flyable,这个接口中声明了成员方法fly(),这个方法是抽象的、公有的。程序中还定义了一个抽象类Animal。类Bird继承了类Animal,同时实现接口Flyable。
类Bird和类Plane都实现了接口Flyable。从这两个类的实现可以发现,接口就像建立在类和类之间的”协议“,对于实现某个接口的类必定实现接口中定义的所有方法。

这里需要注意,在接口Flyable中并没有显示的声明fly()方法是公有的,但接口默认的访问控制是公有的,而类中默认的访问控制是"包内友好",因此在Bird和Plane中必须将这个方法用public修饰。

选择接口的好处:使程序更易于扩展。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值