目录
接口是功能的集合,是一种数据类型。接口里定义方法默认是public abstract(抽象方法),没有具体的实现,实现由实现类实现,且必须实现。
JDK7及以前:只能定义全局常量和抽象方法
JDK8:增加了静态方法、默认方法。
JDK 9:增加了私有方法。
- public interface Itest1 {
- //抽象方法
- void method1();
- //默认方法
- default void method2() {
- System.out.println("default method1");
- }
- default void method3() {
- System.out.println("default method2");
- }
- //静态方法
- static void method4() {
- System.out.println("static method");
- }
- }
- public class ClassA implements Itest1{
-
- @Override
- public void method1() {
- System.out.println("method1 rewrite");
- }
-
- @Override
- public void method2(){
- System.out.println("method2 rewrite");
- }
-
- @Test
- public void test(){
- ClassA classA = new ClassA();
- classA.method1();
- classA.method2();
- classA.method3();
- Itest1.method4();
- }
- }
- public interface Itest1 {
- private void method1(){
- System.out.println("私有方法");
- }
-
- private static void method2() {
- System.out.println("私有静态方法");
- }
-
- default void method3() {
- method1();
- method2();
- System.out.println("default method3");
- }
-
- static void method4() {
- method2();
- System.out.println("static method");
- }
- }
- public class ClassA implements Itest1{
-
- @Test
- public void test(){
- ClassA classA = new ClassA();
- classA.method3();
- Itest1.method4();
- }
- }