接口
1、接口也是一种引用数据类型
2、接口是完全抽象的。(抽象类是半抽象的。)或者也可以说接口是特殊的抽象类
3、接口怎么定义,语法是什么?
接口:
[修饰符列表] interface 接口名{
}
抽象类:
[修 饰符列表] abstract class 类名{
}
4、接口支持多继承,一个接口可以继承多个接口。
5、接口中只包含两部分类容,一部分是:常量。一部分是:抽象方法。接口中没有其他内容了。只有以上两个部分。
6、接口中所有的元素都是public修饰的。(都是公开的。)
7、接口中的抽象方法定义时:public abstract可以省略。
8、接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
9、接口中的常量的public static final可以省略。
public class Test01{
public static void main(String[] args){
}
}
//定义接口
interface A{
}
//接口支持继承
interface B extends A{
}
//一个接口可以继承多个接口(支持多继承)
interface C extends A,B{
}
interface MyMath{
//抽象方法
public abstract int sum(int a,int b);
//接口当中既然都是抽象方法,那么在编写代码的时候哦,public abstract可以省略吗?可以
//接口中的方法可以有方法体吗?接口中的方法不能有方法体
}
接口在开发中的作用
1、类和类之间叫做继承,类和接口之间叫做实现。别多想:你任然何以将“实现”看作“继承”。继承使用extends关键字完成。实现使用implements关键字完成。
2、五颗星(⭐⭐⭐⭐⭐):当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)。
//特殊的抽象类,完全抽象的叫做接口
interface MyMath{
double PI = 3.1415926;
int sum(int a, int b);
int sub(int a, int b);
}
//编写一个类(这个类是一个“非抽象”的类)
//这个类的名字是随意的
abstract class MyMathImpl implements MyMath{
//错误:正在尝试分配更低的访问权限;以前为public
/*
int sum(int a, int b){
return a + b;
}
*/
class MyMathImpl implements MyMath{
//重写/覆盖/实现 接口中的方法(通常叫做实现。)
public int sum(int a, int b){
return a + b;
}
public int sub(int a, int b){
return a - b;
}
}