JAVA接口

接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
在JDK1.8之后在接口中可以利用default定义默认方法
接口的一些特点
1.接口中是用来定义一些扩展功能,而且接口中不能定义非抽象方法,只能定义抽象方法
2.接口的方法前面存在默认的修饰符,可以省略不写 public abstract
3.implements 实现接口
4.接口中的都是抽象方法
5.接口里面没有构造方法
6.接口中的成员边量全是公共的静态常量,没有成员变量 因为前面存在默认修饰符 public static final
7.接口不能实例化
8.一个类在继承一个类的同时也可以实现多个接口
接口与类的区别
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多继承。
抽象类和接口的区别
1.接口没有构造方法,抽象类有构造方法
2.接口中只有抽象方法,抽象类中既有抽象方法也可以有非抽象方法
3.接口中只有公共的静态常量,抽象类中可以有成员变量和常量
4.JDK1.8之后在接口中提供了默认用default修饰的方法,可以给出功能的具体实现,子类可以继承
类和接口之间的关系
类跟类:继承关系 ,单继承,支持多层继承
类跟接口:实现关系 implments 支持单实现也支持多实现
接口跟接口:支持多继承

下面用接口实现一个简单的程序

public class text {
    public static void main(String[] args) {
        Cat c = new Cat();
        c.eat();
        c.sleep();
        c.catchmouse();
        c.fire();
    }
}
    interface Animal{
        public void eat();
        public void sleep();

        public default void fire() {
            System.out.println("猫钻火圈");
        }
    }
    class Cat implements Animal{
        @Override
        public void eat() {
            System.out.println("猫吃鱼");
        }

        @Override
        public void sleep() {
            System.out.println("猫睡觉");
        }

        public void catchmouse() {
            System.out.println("猫抓老鼠");
        }
    }

执行上面的程序,结果如下

猫吃鱼
猫睡觉
猫抓老鼠
猫钻火圈
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值