1、定义
屏幕快照 2018-10-11 下午5.51.13.png
2、接口定义
格式:
public interface MyInterface {
/*
* 在任何版本都可以定义抽象方法
* public abstract 是两个固定的修饰关键字,可以缺省
* */
public abstract void method1();
public void method2();
abstract void method3();
void method4();
}
3、接口的使用
public static void main(String[] args) {
MyInterfaceIMPL impl = new MyInterfaceIMPL();
impl.method1();
impl.method2();
impl.method3();
impl.method4();
}
4、接口中添加抽象方法。
在其实现中必须全部实现所有的抽象方法;
格式
public abstract void method1();
5、接口中添加默认的方法。Java8 后(在不修改子类的情况下,在接口中添加方法)
格式:
public default void method1(){
//方法体
}
屏幕快照 2018-10-12 上午10.33.46.png
6、接口中允许定义静态方法;
格式:
public static void method1(){
//方法体
}
错误用法:但是不能通过接口的实现类对象来调用接口中的静态方法
正确用法:通过接口名称,直接调用静态方法;
格式:接口名称.静态方法名(参数)
屏幕快照 2018-10-12 上午10.48.11.png
7、私有方法
Java9后可以定义私有方法,用于封装接口内部包含重复的代码的方法,但是不公开其方法名;
私有方法:
普通私有方法 和静态私有方法
//普通私有方法
private void MethodD(){
System.out.println("接口的私有方法");
}
//静态私有方法
用于解决多个静态方法之间代码重复的问题
private static void MethodE(){
System.out.println("接口的静态私有方法");
}
8、接口变量
屏幕快照 2018-10-12 上午11.14.24.png
定义:
public interface InterfaceConst {
//public static final灰色代表可省略
//⚠️:必须手动赋值
public static final int num = 10;
}
使用:
public static void main(String[] args) {
int num = InterfaceConst.num;
System.out.println("接口变量的使用:"+num);
}
9、接口代码示例
public interface InterfaceA {
// 定义接口变量
public static final int num = 10;
//抽象方法
public abstract void methodA();
//默认方法
public default void MethodB(){
System.out.println("接口的默认方法");
MethodD();
}
//静态方法-只与类有关系
public static void MethodC(){
System.out.println("接口的静态方法");
}
//普通私有方法
private void MethodD(){
System.out.println("接口的私有方法");
}
//静态私有方法
private static void MethodE(){
System.out.println("接口的静态私有方法");
}
}
10、接口总结
屏幕快照 2018-10-12 上午11.22.16.png
11、使用接口的注意事项 (继承父类并实现多个接口)
屏幕快照 2018-10-12 上午11.32.33.png
12、接口之间的多继承
屏幕快照 2018-10-12 上午11.36.53.png
使用方法 屏幕快照 2018-10-12 上午11.39.50.png
网友评论