1. 接口组成更新
1.1 接口组成更新概述
1.2 接口中默认方法
代码示例:
需求:
- 1:定义一个接口MyInterface,里面有两个抽象方法:
void show1();
void show2();
- 2:定义接口的实现类:
MyInterfaceImpl
- 3:定义测试类:
MyInterfaceDemo
在主方法中,按照多态的方式创建对象并使用
接口MyInterface:
//1:定义一个接口MyInterface,里面有两个抽象方法: // void show1(); // void show2(); public interface MyInterface { void show1(); void show2(); //default默认方法,可以使实现类不用实现该方法。 //还可以直接定义方法内容 default void show3() { System.out.println("One show3"); } }
定义接口的实现类:
//2:定义接口的实现类: //MyInterfaceImpl public class MyInterfaceImpl implements MyInterface { @Override public void show1() { System.out.println("One show1"); } @Override public void show2() { System.out.println("One show2"); } //实现类中并没有实现show3方法,但是也没有报错。 }
定义测试类:
//3:定义测试类: //MyInterfaceDemo //在主方法中,按照多态的方式创建对象并使用 public class MyInterfaceDemo { public static void main(String[] args) { MyInterface my = new MyInterfaceImpl(); my.show1(); my.show2(); // 如果想要添加一个新的接口方法,但是别的实现类又不要实现它,怎么办? // 在接口中使用default my.show3(); } }
运行结果:
show3方法也可以被重写这里就不写示例了。
1.3 接口中静态方法
代码示例:
需求:
- 1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法
void show();
default void method(){ }
public static void test(){ }
- 2:定义接口的一个实现类:
InterImpl
- 3:定义测试类:
InterDemo
在主方法中,按照多态的方式创建对象并使用
接口Inter
//1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法 //void show(); //default void method(){ } //static void test(){ } public interface Inter { void show(); default void method() { System.out.println("Inter 中的默认方法执行了"); } static void test() { System.out.println("Inter 中的静态方法执行了"); } }
实现类InterImpl
//2:定义接口的一一个实现类: //InterImpl public class InterImpl implements Inter { @Override public void show() { System.out.println("show方法执行了"); } }
测试类:
//3:定义测试类: //InterDemo //在主方法中,按照多态的方式创建对象并使用 public class InterDemo { public static void main(String[] args) { Inter i = new InterImpl(); i.show(); i.method(); // 接口中的静态方法只能由类名调用,这样的为了防止一个实现类实现两个接口,但是两个接口中又有同名称的静态方法。 // i.test(); Inter.test(); } }
运行结果:
1.4 接口中私有方法