接口概述及用法
名词说明:
接口:就是一种公共的规范标准
只要符合规范标准,就可以大家通用。
在程序中是怎么定义接口的:
接口就是多个类的公共规范
接口是一种引用数据类型,最重要的内用就是其中的:抽象方法。
如何定义一个接口的格式:
public Interface 接口名称{}
// 接口内容
Java7接口的内容包括
1.常量
2.抽象方法
java8接口的内容包括
3.默认方法
4.静态方法
java9接口的内容包括
5.私有方法
接口的使用步骤:
1.接口不可以直接使用,必须有一个‘’实现类‘’-类似子类来‘实现‘-类似于extends该接口。
格式:
public class 类名称 extends 父类—(之前学习的格式)
// 接口格式:
public class 实现类名称 implement 接口名称{
// …
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现: 去掉abstract关键字,加上方法体大括号。
3.创建实现类的对象,进行使用。
注意事项:
如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类自己就必须是抽象类。
定义一个接口
package Day4;/*
*@author wanghongyuan
*@Create 2020/12/10 7:41
接口中可以定义抽象类
public abstract 返回值类型 方法名称 (参数列表);----(抽象类没有‘{}’)
注意事项:
1.接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
2. 这两个关键字修饰符,可以选择性的省略。
*/
public interface MyInterfaceAbstract {
// 这是一个抽象方法
public abstract void methodAbs();
public void methodAbs1();
abstract void methodAbs2();
void methodAbs3();
}
定义一个接口实现类
package Day4;/*
*@author wanghongyuan
*@Create 2020/12/10 7:55
*/
public class MyInterfaceAbstractImpl implements MyInterfaceAbstract{
@Override
public void methodAbs() {
System.out.println("这是第一个方法");
}
@Override
public void methodAbs1() {
System.out.println("这是第二个方法");
}
@Override
public void methodAbs2() {
System.out.println("这是第三个方法");
}
@Override
public void methodAbs3() {
System.out.println("这是第四个方法");
}
}
定义一个main实现接口的使用
package Day4;/*
*@author wanghongyuan
*@Create 2020/12/10 7:58
*/
public class Demo01Interface {
public static void main(String[] args) {
// 错误写法,不能直接new接口对象使用
// MyInterfaceAbstract inter= new MyInterfaceAbstract();
// 创建实现类的对象使用
MyInterfaceAbstractImpl impl = new MyInterfaceAbstractImpl();
impl.methodAbs();
impl.methodAbs1();
}
}
最后可以看到我们运行后的结果
D:\Java\jdk-14.0.2\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\lib\idea_rt.jar=61539:D:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\IdeaProjects\DaYuanXue\out\production\DaYuanXue Day4.Demo01Interface
这是第一个方法
这是第二个方法
Process finished with exit code 0