由於某些原因我在尋找rt.jar,並且在那裏我看到了一些包,如java.sql。*等等。這些接口的J2SE接口規範和實現
在我們寫(用於連接類,例如)一個典型的JDBC程序:
import java.sql.Connection;
作爲每文檔,java.sql.Connection中是接口,而不是具體的實現,和java.sql.Connection中在rt.jar中。當我們編寫jdbc程序時,我們需要jdbc驅動程序,並且從我讀的jdbc驅動程序實現接口(例如java.sql.Connection)。
所以,當我們寫在典型的Java程序:(並加載JDBC驅動程序)
import java.sql.Connection;
- >確實java.sql.Connection中來自的rt.jar或驅動程序類。
從我猜,在這種情況下,java.sql.Connection必須來自rt.jar(作爲接口),而實際的實現來自驅動程序類。
如果我的假設是正確的,通常我們需要包含具有接口定義的jar以包含導入。
例如,考慮這種情況:
package com.vipin.myinterface;
public interface Interface1 {
public void print();
}
如果我們包以上接口interface1.jar。
假設Concrete1.java實現了這個接口:
package com.vipin.concrete1;
public class Concrete1 implements Interface1 {
public void print() {
//code
}
}
而這種包裝罐中 - > concrete1.jar。
現在,假設我正在編寫使用print()方法的應用程序,那麼我是否需要同時包含這些jar?
是................ – ZhongYu
@ bayou.io你爲什麼不寫一個答案? –
@Würgspaß - 因爲我很懶惰? :) – ZhongYu