java中接口

接口的引入和概念:

我们知道,如果一个类没有重写完父类中的所有抽象方法,那么这个类必定是抽象类。那么如果一个抽象类中都是抽象方法,则可以将该抽象类定义成接口。
即:接口概念:接口是抽象方法的集合。

语法:
访问控制符  修饰符  class  类名  implements  接口1  [,接口2, ……] {
		变量;
		方法;
}

注:

通过extends关键字可以使自定义的接口实现继承,但需要注意以下两点:
接口只能继承父接口,不能继承抽象类和普通类。
接口弥补了Java单一继承的缺点(Java中的类只能继承一个父类),即接口可以继承多个父接口,它们之间用英文逗号隔开。

接口里的注意事项:

1. 接口中的抽象方法必须通过一个类来实现(implements)

实现类:一个实现了接口中抽象方法的类.
例:

Mammal mammal = new Whale();
mammal.move();

因为Whale类实现了接口中抽象方法,所以Whale类即是实现类

2. 一个类可以实现一个或n个接口;如果一个类没有实现接口中的所有抽象方法,则该类必须为抽象类
public class Son implements IFather,IMother{
	void move();
	void breath();
	void sleep();
	void speak();
}
public  interface IMother {
	void speak();
	void sing();
}
public interface IFather {
	void move();
	void breath();
	void sleep();
}

我们可以看出Son类并没有实现IFather,IMother接口里的全部抽象方法,所以程序会报错。Son类必为抽象类。

在这里插入图片描述

在这里插入图片描述

3. 接口中没有默认构造方法,而且也不能定义构造方法

在这里插入图片描述

4. 接口一般以I开头
5. 接口中的变量其实为public static fianl类型的常量

证明static:
在这里插入图片描述

在这里插入图片描述

证明final:
在这里插入图片描述

6. 接口中的抽象方法默认public abstract

例如:IFather中的方法并没有写public abstract,但是并没有报错,这说明接口中的抽象方法默认public abstract。
在这里插入图片描述

7. 在JDK8及其以后版本的JDK中,接口内可以定义静态方法(static修饰的方法)与默认方法(default关键字修饰的方法)

在这里插入图片描述

在这里插入图片描述

8. 继承:Java只有单继承;

但是Java中接口可以多继承
Java中只存在单继承

9.

含有抽象方法的抽象类必须至少有一个子类完全实现了其抽象方法 √
含有抽象方法的抽象类一定至少会有一个非抽象类

10. 子接口可以实现父接口中的某些抽象方法 错
11. 接口重复抽象方法,实现类实现一个;

接口中重复常量名,实现类必须指定到底调用哪个接口中的常量
例1、
在这里插入图片描述

例2、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12. public protected friendly private 只有public 和默认的能修饰类和接口

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涟涟涟涟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值