JDBC連接數(shù)據(jù)庫
SQL2000需要三個jar包:
http://dl.dbank.com/c01lhhrw11SQL2005需要一個jar包:
http://dl.dbank.com/c02tkdkmmy加載驅(qū)動與得到連接的區(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: 到主機 的 TCP/IP 連接失敗。 java.net.ConnectException: Connection refused: connect ava 連sql2005出現(xiàn)這個錯誤時,首先檢查是否引用了sql 2005的包;
第二步,看你的sql 2005是否開啟了遠程訪問權(quán)限,具體設(shè)置如下:
進入“Microsoft SQL Server 2005 ”——“配置工具”——“SQL Server 外圍應用配置器”
在進入“MSSQLSERVER"——“DATABASE" Engine”——“遠程連接”
選擇“本地連接和遠程連接(R)"——”同時使用tcp/ip和named pipes(B)"
最后重啟sql server 2005
posted @
2011-11-08 22:53 愛燕神鷹 閱讀(308) |
評論 (0) |
編輯 收藏
方法重載
# Java的方法重載是指一個類中有多個方法具有相同的名字,但參數(shù)不同。
調(diào)用方法時通過傳遞給它們的不同個數(shù)和類型的參數(shù)來區(qū)分具體使用哪個方法, 這
就是多態(tài)性。
1. 方法名相同
2. 方法的參數(shù)類型,個數(shù),順序至少有一項不同
3. 方法返回類型可以不同
4. 方法的修飾符可以不同
方法覆蓋(重寫)
#在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。
1. 方法覆蓋就是子類有一個方法和父類的某個方法的名稱、返回類型、參數(shù)一樣,那么我們就說子類的這個方法覆蓋了父類的那個方法。
2. 子類的方法的返回類型,參數(shù),方法名稱要和父類的完全一致,否則編譯出錯。
3. 子類方法不能縮小父類方法的訪問權(quán)限(子類方法的修飾符定義得要比父類方法的修飾符的訪問范圍大)
posted @
2011-11-06 09:54 愛燕神鷹 閱讀(216) |
評論 (0) |
編輯 收藏
成員變量和局部變量
1.類體屬性部分定義的變量稱為成員變量;方法體內(nèi)定義的變量稱為局部變量。
2.成員變量在整個類內(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;
}
實例變量和類變量(靜態(tài)變量)以及類方法
1. 實例變量+類變量=成員變量。
2. 類變量聲明時要帶有“static”關(guān)鍵字。
3. 實例變量使用時是被對象調(diào)用的,即“對象名.實例變量名”;
類變量使用時被類調(diào)用(也可以是對象),即“類名.類變量”( 對象名. 類變量)。
4. 某個對象更改其實例變量,其他對象不受影響;類變量改變時,所有對象的這個類變量都被改變。
5. 實例方法既能對類變量操作,用能對實例變量操作,而類方法只能對類變量進行操作。
Public class Child{
int age;
String name;
static int total=0;
public void joinGame(){
System.out.println("有一個小孩加進來啦");
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{...}是在類被裝載的時候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個實例共享的區(qū)域,任何該類的實例對該區(qū)域的操作都對所有所有該類的實例對該區(qū)域的操作都是生效的。
static代碼塊主要用在想在類加載的時候就初始化一些內(nèi)容,如:初始化數(shù)據(jù)庫鏈接classforName("XXX"),
posted @
2011-11-06 09:53 愛燕神鷹 閱讀(490) |
評論 (0) |
編輯 收藏
什么是是JAVA構(gòu)造函數(shù)
每創(chuàng)建一個類的實例都去初始化它的所有變量是乏味的。如果一個對象在被創(chuàng)建時就完成了所有的初始工作,將是簡單的和簡潔的。因此,Java在類里提供了一個特殊的成員函數(shù),叫做構(gòu)造函數(shù)(Constructor)。
一個構(gòu)造函數(shù)是對象被創(chuàng)建時初始對象的成員函數(shù)。它具有和它所在的類完全一樣的名字。一旦定義好一個構(gòu)造函數(shù),與new運算符一起使用,創(chuàng)建對象時就會自動調(diào)用它。構(gòu)造函數(shù)沒有返回類型,即使是void類型也沒有。這是因為一個類的構(gòu)造函數(shù)的返回值的類型就是這個類本身。構(gòu)造函數(shù)的任務(wù)是初始化一個對象的內(nèi)部狀態(tài),所以用new操作符創(chuàng)建一個實例后,立刻就會得到一個清楚、可用的對象。
構(gòu)造方法是一種特殊的方法,具有以下特點。
(1)構(gòu)造方法的方法名必須與類名相同。
(2)構(gòu)造方法沒有返回類型,也不能定義為void,在方法名前面不聲明方法類型。
(3)構(gòu)造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數(shù)傳給對象的域。
(4)構(gòu)造方法不能由編程人員調(diào)用,而要系統(tǒng)調(diào)用。
(5)構(gòu)造函數(shù)不能被直接調(diào)用,必須通過new運算符在創(chuàng)建對象時才會自動調(diào)用(即在new的時候就開始執(zhí)行構(gòu)造函數(shù)里面的語句);而一般的方法是在程序執(zhí)行到它的時候被調(diào)用的.
(6)一個類可以定義多個構(gòu)造方法,如果在定義類時沒有定義構(gòu)造方法,則編譯系統(tǒng)會自動插入一個無參數(shù)的默認構(gòu)造器,這個構(gòu)造器不執(zhí)行任何代碼。
(7)構(gòu)造方法可以重載,以參數(shù)的個數(shù),類型,或排列順序區(qū)分。
(8)當定義一個類的時候,如果程序員不創(chuàng)建構(gòu)造函數(shù),則Java編譯器就會提供一個默認的不帶參數(shù)的構(gòu)造函數(shù)。創(chuàng)建對象時系統(tǒng)就會自動調(diào)用這個默認的構(gòu)造函數(shù)來創(chuàng)建類的對象。如
Public Class Person{
Int age;
String name;
//默認的構(gòu)造函數(shù)為(java編輯器會自動生成的)
Public Person(){
}
Person p=new Person();
p.age=10;
p.name=”張三”;
}
java 構(gòu)造函數(shù)的執(zhí)行過程
類初始化時構(gòu)造函數(shù)調(diào)用順序:
(1)初始化對象的存儲空間為零或null值;
(2)調(diào)用父類構(gòu)造函數(shù);
(3)按順序分別調(diào)用類成員變量和實例成員變量的初始化表達式;
public class Demo_1 {
/**
* @param args
*/
public static void main(String[] args){
new Money();
new Dollar();
new Rmb();
}
}
class Money{
public Money(){
System.out.println("Money is construct");
}
}
class Dollar{
public Dollar(){
System.out.println("Dollar is construct!");
}
}
class Rmb{
public Rmb(){
System.out.println("RMB is construct");
}
}
輸出結(jié)果:
Money is construct
Dollar is construct!
RMB is construct
posted @
2011-11-05 09:59 愛燕神鷹 閱讀(3171) |
評論 (0) |
編輯 收藏