接口作用:
解決java不能多繼承,用過接口變相實作多繼承。
屏蔽實作的不同的差異
接口執行個體
現在假如說,java想讓oracle和mysql實作自己的資料源和關閉資料源,java隻需要做一個接口interface出來。而oracle和mysql自己去實作這個接口即可。
ok
下面先上一個組織結構,需要用到工廠模式。
總共三個包,分别是
接口包 com.rs.biz
工廠包com.rs.factory
實作類com.rs.impl
最後一個是測試類。
第二步,開始寫接口DateBase.java。
package com.rs.biz;
import java.sql.Connection;
public interface DateBase {
//定義兩個方法
Connection getConnection(String url,String user,String password);
void closed();
}
第三步,寫實作類
Mysql.java
--------------------------------------------------------------
package com.rs.impl;
import com.rs.biz.DateBase;
public class Mysql implements DateBase {
@Override
public Connection getConnection(String url, String user, String password) {
System.out.println("我是mysql廠商實作的傳回connection");
return null;
public void closed() {
System.out.println("Mysql資料庫connection關閉");
Oracle.java
public class Oracle implements DateBase {
@Override
public Connection getConnection(String url, String user, String password) {
System.out.println("我是Oracle廠商實作的傳回connection");
return null;
}
public void closed() {
System.out.println("Oracle資料庫connection關閉");
ok,基本功已經做完了,現在開始思考接口的作用,既然接口是為了屏蔽不同類的差異性的,那麼我們需要一個工廠類,用來傳回你想要的結果,是oracle還是mysql的,此時我們開始編寫工廠類。
DbFactory.java
package com.rs.factory;
import com.rs.impl.Mysql;
import com.rs.impl.Oracle;
public class DbFactory {
public static DateBase getConnection(DateBase db){
return db;//通過傳入的db類型,傳回不同的類。這些類都是實作了接口DateBase的類
好了,下面我們開始寫測試類TestDateBase.java
packagetest.com.rs;
importcom.rs.biz.DateBase;
importcom.rs.factory.DbFactory;
importcom.rs.impl.Mysql;
importcom.rs.impl.Oracle;
public classTestDateBase {
public static voidmain(String[] args) {
String url = "";
String user = "";
String password = "";
DateBase db = newDbFactory().getConnection(newOracle());
db.getConnection(url, user, password);
db.closed();
DateBase db2 = newDbFactory().getConnection(newMysql());
db2.getConnection(url, user, password);
db2.closed();
--------------------------------------------------
列印輸出
我是Oracle廠商實作的傳回connection
Oracle資料庫connection關閉
我是mysql廠商實作的傳回connection
Mysql資料庫connection關閉
--------------------------------------------------------------------
講解結束,了解這段代碼後,你可以更改一下你的工廠類,将獲得連接配接那個方法更改為使用者不可見,自己設計好,或者從一個配置檔案讀出。
如有不懂的 可以聯系小弟,我們一起進步,QQ 394263788 轉載請說明,寫文章的不多了。