接口即使多个类的公共规范。
接口时一种引用数据类型,最重要的内容就是其中的:抽象方法。
如何定义一个接口的格式:
public interfa 接口名称{
//接口内容
}
备注:换成了关键字interface之后,编译生成的字节码文件任然是:Java—>.class。
如果是Java 7 那么接口中可以包含的内容有
1.常量
2.抽象方法
如果时Java 8,还可以包含
3.默认方法
4.静态方法
5.私有方法
接口使用步骤:1.接口不能直接使用,必须有一个“实现类”来”实现“该接口。
格式:public class 实现类名称implement 接口名称{
//。。。
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现:去掉abstr关键词,加上方法体大括号。
3.创建实现类的对象进行使用。
注意事项:如果实现类并没有覆盖重写接口中所有抽象方法,那么这个实现类自己就必须时抽象类。
原因;继承接口之后将接口中所有的抽象方法都继承下来了,抽象方法所在的类就是抽象类。
public class demo01Interface {
public static void main(String[] args) {
//MyInterfaceAbstract myInterfaceAbstract=new MyInterfaceAbstract();错误,不能直接new接口对象使用
//需要创建实现类的对象使用
MyInterfaceAbstrctlmpl impl=new MyInterfaceAbstrctlmpl();
impl.methodAbs1();
impl.methodAbs2();
impl.methidAbs3();
impl.methodAbs4();
}
}
在任何版本的Java中,接口都能定义抽象方法:
public abstract 返回值类型 方法名称(参数列表)
注意事项:1.接口当中的抽象方法,修饰符必须时两个固定的关键字:publicabstr
2.这两个关键字修饰符,可以选择性的省略。
3.方法三要素,可以随意定义。
定义一个接口名为MyInterfaceAbstract
public interface MyInterfaceAbstract {
public abstract void methodAbs1();//这是一个抽象方法,当我们省略public或者abstract或者都省略都不会出错
public abstract void methodAbs2();
public abstract void methidAbs3();
public abstract void methodAbs4();
}
定义一个类来实现接口方法重写
public class MyInterfaceAbstrctlmpl implements MyInterfaceAbstract{
@Override
public void methodAbs1() {
System.out.println