1.成员变量其实是常量;
[public] [ tatic] [final] 数据类型 常量名称 = 数据值;
常量必须赋值赋值,命名规范为大写
2.接口中最重要的是抽象方法,
【public】[ abstract] 返回值类型 方法名称(参数列表);
实现类必须覆盖重写所有的抽象方法,除非实现类是抽象类
3.从java8开始允许定义默认方法;
格式 [public] default 返回值类型 方法 名称(parameter){code block}
默认方法也可以被覆盖重写
4.从java8开始允许定义静态方法
【public】 static 返回值类型 方法名称(parameter){代码块}
通过接口名称进行调用,不能通过实现类对象调用静态方法
5.从java9 开始接口里允许定义私有方法
普通私有方法
private 返回值类型 方法名称(parameter){代码块}
静态私有方法
private static 返回值类型 方法名称(parameter){代码块}
私有方法只有接口自己能够使用不能被实现类货别人使用
配合代码总结:
package interfaceDemo.DemoInterface02;
public interface InterfaceConstDemo {
//定义一个接口常量
public static final int NUM = 100;
//定义一个抽象方法(必须重写接口中所有的抽象类,否则程序无法正常运行)
public abstract void abstractMethodName();
//定义一个默认方法(可以重写,实现类中也可不重写,不重写实现类对象会继承接口的默认方法访问)
public default void defaultMethond(){};
//定义一个静态方法(通过接口名进行访问)
public static void staticMethond(){};
//定义一个私有方法(只有接口自己能够访问)
private void privateMethod(){};
}
接口是没有就静态代码块和构造方法的;
一个类的直接父类是唯一的,
一个类可以同时实现多个接口;
继承是优先接口实现,
接口与接口之间是多继承的: