JDBC連接數(shù)據(jù)庫
SQL2000需要三個(gè)jar包:
http://dl.dbank.com/c01lhhrw11SQL2005需要一個(gè)jar包:
http://dl.dbank.com/c02tkdkmmy加載驅(qū)動(dòng)與得到連接的區(qū)別:
SQL2005的用:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;d atabaseName=stdb","sa","sa");
SQL2000的用:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;d atabaseName=stdb","sa","sa");
常見問題
com.microsoft.sqlserver.jdbc.SQLServerException: 到主機(jī) 的 TCP/IP 連接失敗。 java.net.ConnectException: Connection refused: connect ava 連sql2005出現(xiàn)這個(gè)錯(cuò)誤時(shí),首先檢查是否引用了sql 2005的包;
第二步,看你的sql 2005是否開啟了遠(yuǎn)程訪問權(quán)限,具體設(shè)置如下:
進(jìn)入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外圍應(yīng)用配置器”
在進(jìn)入“MSSQLSERVER"——“DATABASE" Engine”——“遠(yuǎn)程連接”
選擇“本地連接和遠(yuǎn)程連接(R)"——”同時(shí)使用tcp/ip和named pipes(B)"
最后重啟sql server 2005
方法重載
# Java的方法重載是指一個(gè)類中有多個(gè)方法具有相同的名字,但參數(shù)不同。
調(diào)用方法時(shí)通過傳遞給它們的不同個(gè)數(shù)和類型的參數(shù)來區(qū)分具體使用哪個(gè)方法, 這
就是多態(tài)性。
1. 方法名相同
2. 方法的參數(shù)類型,個(gè)數(shù),順序至少有一項(xiàng)不同
3. 方法返回類型可以不同
4. 方法的修飾符可以不同
方法覆蓋(重寫)
#在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時(shí)子類并不想原封不動(dòng)地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。
1. 方法覆蓋就是子類有一個(gè)方法和父類的某個(gè)方法的名稱、返回類型、參數(shù)一樣,那么我們就說子類的這個(gè)方法覆蓋了父類的那個(gè)方法。
2. 子類的方法的返回類型,參數(shù),方法名稱要和父類的完全一致,否則編譯出錯(cuò)。
3. 子類方法不能縮小父類方法的訪問權(quán)限(子類方法的修飾符定義得要比父類方法的修飾符的訪問范圍大)
成員變量和局部變量
1.類體屬性部分定義的變量稱為成員變量;方法體內(nèi)定義的變量稱為局部變量。
2.成員變量在整個(gè)類內(nèi)都有效;局部變量只在定義它的方法體內(nèi)有效。
3.如果成員變量和局部變量的名字相同,則在方法體里成員變量將被隱藏。
Public class Person{
int age; //成員變量
String name; //成員變量
public Person(int age,String name)
{
this.age=age; //this.age中的age為成員變量,age為局部變量
this.name=name;
}
實(shí)例變量和類變量(靜態(tài)變量)以及類方法
1. 實(shí)例變量+類變量=成員變量。
2. 類變量聲明時(shí)要帶有“static”關(guān)鍵字。
3. 實(shí)例變量使用時(shí)是被對(duì)象調(diào)用的,即“對(duì)象名.實(shí)例變量名”;
類變量使用時(shí)被類調(diào)用(也可以是對(duì)象),即“類名.類變量”( 對(duì)象名. 類變量)。
4. 某個(gè)對(duì)象更改其實(shí)例變量,其他對(duì)象不受影響;類變量改變時(shí),所有對(duì)象的這個(gè)類變量都被改變。
5. 實(shí)例方法既能對(duì)類變量操作,用能對(duì)實(shí)例變量操作,而類方法只能對(duì)類變量進(jìn)行操作。
Public class Child{
int age;
String name;
static int total=0;
public void joinGame(){
System.out.println("有一個(gè)小孩加進(jìn)來啦");
total++;
}
}
public static void main(String []args)
{
Child ch1=new Child();
ch1.age=10;
ch1.name=”小小”;
System.out.println("共有"+ch1.total); }
靜態(tài)代碼塊static{...}
首先靜態(tài)代碼塊static{...}是在類被裝載的時(shí)候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個(gè)實(shí)例共享的區(qū)域,任何該類的實(shí)例對(duì)該區(qū)域的操作都對(duì)所有所有該類的實(shí)例對(duì)該區(qū)域的操作都是生效的。
static代碼塊主要用在想在類加載的時(shí)候就初始化一些內(nèi)容,如:初始化數(shù)據(jù)庫鏈接classforName("XXX"),