Java之接口

接口的定义

如果一个抽象类中所有的方法都是抽象的,则可以用另一种方式来定义这个类,即接口。

interface Animal{
	int ID = 1; // 定义全局常量
	void breathe(); //定义抽象方法
	void run();
	}

上面的代码中,Animal即为一个接口。接口中定义的方法默认使用public abstract修饰,即抽象方法。接口中的变量默认使用public static final修饰,即全局常量。

因为接口中的方法都是抽象方法,不能通过实例化对象来调用,因此需要定义一个类,并用implement关键字实现接口中的所有方法。下面通过一个案例来学习。

interface Animal{
    int ID = 1;
    void breathe();
    void run();
}

class Dog implements Animal{
    @Override
    public void breathe() {
        System.out.println("狗在呼吸");
    }

    @Override
    public void run() {
        System.out.println("狗在跑");
    }
}

public class Test{
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.breathe();
        dog.run();
    }
}

运行结果为
在这里插入图片描述
从运行结果来看,Dog类在实现了Animal接口后是可以被实例化的。

接下来对接口的一些特征进行归纳:

  • 接口中的方法都是抽象的,不能实例化;
  • 一个类要实现接口时,如果这个类是抽象类,那么只需要实现接口中的部分方法,否则,要实现接口中的所有方法;
  • 一个类通过implement关键字实现接口时,可以实现多个接口,被实现的多个接口要用,隔开;
  • 一个接口可以通过extends关键字继承多个接口,接口之间用,隔开;
  • 一个类在继承另一个类的同时还可以实现接口,此时,extends关键字必须在implement关键字之前。具体实例如下:
class Dog extends Canidae implements Animal{  // 先继承,再实现
	// 程序代码......
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值