Java基礎(27)之 接口組成更新

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 接口中私有方法

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章