接口的问题

1、定义:

接口是java中的一种引用类型,是方法的集合,接口中的方法全是抽象方法、默认方法、静态方法(JDK8)。只有方法的声明,具体的实现需要接口的实现类(接口的子类)来实现

public interfere 接口名称{
	//成员变量
	//抽象方法
	//默认方法
	//静态方法
}

public class 实现类 implements 接口名称{

}

2、成员变量

接口中的成员变量都有默认修饰符 public static final,不再是变量,是常量,所以一般都是用大写来命名变量

3、方法

接口中的方法都有默认的修饰符public abstract

4、接口的特点

1、类与接口是实现关系,接口可以是单实现,也可以是多实现,也可以在继承一个类的同时,实现多个接口
2、接口与接口是继承关系,可以单继承,也可以多继承(这一点和类的单继承有所区别)

5、接口和抽象类的区别

抽象类是一类事物中共性的内容
接口是特有的功能,不是共有的内容

类型区别
抽象类1、抽象类中可以有具体的方法;2、抽象方法中可以有变量;3、单继承;
接口1、接口不能有具体的方法;2、抽象方法中不能有变量;3、接口和类,接口和接口,可以单继承,可以多继承

6、接口的默认方法

public default 返回类型 方法名(){   
   //默认方法是可以有实体的
}

为什么要有默认方法:
如果在接口里面新增了一个新的抽象方法,则继承了这个接口的所有子类都会报错,都需要重写这个方法,很麻烦,所以可以直接写一个默认方法,继承了接口的子类都可以使用方法调用的形式调用默认方法,不用一一去改子类,很快捷
同时默认方法也是可以重写也可以不重写的

@Override
public  返回类型 方法名(){    //格式上去掉了default这个关键字
   //重写默认方法
}

7、接口中的静态方法

public static 返回类型 方法名(){   
   //静态方法是可以有实体的
}
调用方式:
接口名.方法名(参数)  //实现类不可以用,只能是接口自己用

8 、注意事项

1、实现类必须重写接口中的所有抽象方法,除非实现类本身是抽象类
2、接口中没有构造方法,所以不能创建对象(对比一下抽象类中可以有构造方法,主要是给子类用,其本身不能使用构造方法创建对象)
3、方法的返回值类型如果是接口,则返回其实现类对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值