package com.ppt.test;
public interface InterfaceTest {
/**
* 接口interface,类class 编译的字节码文件仍是。class
* java7
* 1.常量
* 2.抽象方法
*
* Java8
* 3.默认方法
* 4.静态方法
*
* Java9
* 5.私有方法
* 接口不能直接使用,要有实现类实现接口
*
* public class 实现类名称 implements 接口名称(){
* ...//
* }
* 接口的实现类必须实现重写接口中所有的抽象方法
* 实现:去掉 abstract 关键字加上大括号。
*
*默认方法
* public default 返回值类型 方法名称(参数列表){
* 方法体
* }
* 接口中的默认方法,可以解决接口的升级问题
*
*接口中静态方法
* public static void 方法名称(){
* 方法体
* }
* 不能通过接口的实现类调用接口的静态方法
* 正确方法,通过接口名称直接调用静态方法
* 接口名称.静态方法名称(参数)
*
* 从Java9开始,接口中可以定义私有方法,为了解决代码重复问题
* 1.普通私有方法,解决多个默认方法之间的代码重复问题
* 格式:private 返回值类型 方法名称(参数列表){
* 方法体
* }
* 2,静态私有方法,解决静态方法代码重复问题
*格式:private static 返回值类型 方法名称(参数列表){
* 方法体
*}
*/
//抽象方法
public abstract void method();
//这也是抽象方法
abstract void method1();
//这也是抽象方法
public void method2();
//这也是抽象方法
void methed3();
//这是接口的默认方法
public default void methed4(){
System.out.println("这是新添加的默认方法");
}
public static void staticMethed(){
System.out.println("这是一个接口的静态方法");
}
}
已经是Java9起步了,Interface 也发生了不少变化,当年学期的时候还是Java7,以此备忘
2020-11-07