接口day01

接口:

接口提供一种约定,使得实现接口的类在形式上保持一致

声明:

public interface 接口名{

接口成员

}

成员变量声明默认public static fianl

成员方法声明默认public abstract

注意:

使用implements关键字

一个类可以同时实现多个接口

必须重写接口中的所有抽象方法,即使不用也必须实现

接口的实现类包含普通方法

在实现抽象方法时,使用public,因为接口中默认public,不写时,会默认package-access,访问权限变小,编译错误

类只能有一个直接父类,但可以实现多个接口,一个类若要实现某个接口,必须重写接口中的所有方法,或者定义为抽象类,若在继承一个类的同时又实现了多个接口,extends必须位于implements之前

新特性:

jdk8:

default可以在接口中修饰方法,修饰的方法可以有具体实现,也只能在接口中实现,修饰的方法可以被重写

static修饰的方法,使用接口名.方法名调用,不能被继承,但可以隐藏

jdk9:

private修饰方法,只能在本类中使用

抽象类与接口的区别:
区别抽象类接口
多继承子类只能继承一个直接抽象类接口可以继承多个接口
实现子类使用extends关键字继承抽象类子类使用implements关键字实现多个接口
成员抽象类中有实例成员,静态成员,抽象方法,成员方法中不能使用default关键字接口中只能有常量,抽象方法 jdk8:static default jdk9:private
成员变量修饰符可以定义变量,也可以定义常量只能定义常量public static final
子类实现子类的访问权限与父类相同或扩大子类的访问权限必须是public
构造函数可以有构造函数不能定义构造函数
最高层类的最高层是Object接口没有最高层
相同点都不能实例化,都是引用数据类型,都含有抽象方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值