想要看到都能java代碼,需要了解編程的基礎(chǔ)知識,變量,表達(dá)式,程序執(zhí)行結(jié)構(gòu),邏輯判斷等等。最重要是要學(xué)會如何調(diào)試代碼,慢慢練習(xí),熟練了自然就會了。
10年積累的成都網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有北川羌族免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
類與類的關(guān)系
1、依賴關(guān)系
依賴關(guān)系表示一個類依賴于另一個類的定義。通俗來講即是類A中使用了另外的一個類B,且類B并非類A中作為屬性存在,即表示類A依賴于類B。對象之間最弱的一種關(guān)聯(lián)方式,是臨時性的關(guān)聯(lián)。代碼中一般指由局部變量、函數(shù)參數(shù)、返回值建立的對于其他對象的調(diào)用關(guān)系。
class A{
public B method(C c){
B b = new B();
return b;
}
}
登錄后復(fù)制
2、關(guān)聯(lián)關(guān)系
關(guān)聯(lián)關(guān)系是類與類之間的聯(lián)接,它使一個類知道另一個類的屬性和方法。通俗來講即類A中有一個屬性b,該屬性的數(shù)據(jù)類型為類B,類A可以通過屬性b調(diào)用類B的屬性與方法。也即一般來說的has-a的關(guān)系。
class A{
public B b;
}
登錄后復(fù)制
3、聚合關(guān)系
聚合關(guān)系是特殊的關(guān)聯(lián)關(guān)系,其與關(guān)聯(lián)關(guān)系在代碼上并無實際上的區(qū)別,二者的區(qū)別主要體現(xiàn)在語義上,關(guān)聯(lián)關(guān)系即代表可有可無,而聚合關(guān)系則代表必須擁有(注:被聚合或關(guān)聯(lián)的事務(wù)也代表一個單獨的事務(wù),其也有獨立的意義。)舉例說明就像筆記本電腦,其與外接鼠標(biāo)就是關(guān)聯(lián)關(guān)系,外接鼠標(biāo)只是附件,而想cpu,內(nèi)存條等是組成一個筆記本電腦所必須的,而他們的關(guān)系就是聚合關(guān)系。
class computer{
public Cpu cpu1;
}
登錄后復(fù)制
4、組合關(guān)系
組合關(guān)系也是特殊的關(guān)聯(lián)關(guān)系,其類似于聚合關(guān)系,但比聚合關(guān)系更加的強,即對象 A 包含對象 B,對象 B 離開對象 A 沒有實際意義。舉例來講就是作為一個人,你可以沒有錢,但你不能沒有腦子(物理),你與錢就是關(guān)聯(lián)關(guān)系,錢乃身外之物,而你與大腦則是組合關(guān)系,大腦每人就一個,沒了它,你便無法存在,而單獨一個腦子離開了人也就失去了它應(yīng)有的作用。
class person{
public Head head;
}
登錄后復(fù)制
5、繼承關(guān)系
類與類的繼承關(guān)系,類與接口的實現(xiàn)關(guān)系。繼承指的是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力。
class A extends B{
public A(){
super();
}
}
登錄后復(fù)制
類與類之間的繼承只能是單繼承,但可以多層繼承。
單繼承即表示一個類只可以繼承一個父類。
多層繼承即是類A繼承類B,而類B又繼承了類C,所以類A間接繼承了類C
類與接口之間的關(guān)系
注:Java8新增了默認(rèn)方法和靜態(tài)方法;
public interface A{
//抽象方法
public void a1();
//默認(rèn)方法
default void a2() {
System.out.println("a2");
}
//靜態(tài)方法
static void a4() {
System.out.println("a4");
}
}
登錄后復(fù)制
?
其中,靜態(tài)方法只供接口直接使用
類可以繼承一個類且實現(xiàn)多個接口
注意:
1.如果多個接口中有同名的抽象方法,那么實現(xiàn)類只需要實現(xiàn)一次即可
2.如果多個接口中有同名的默認(rèn)方法,那么實現(xiàn)類必須重寫一次,并且要去掉default關(guān)鍵字
接口可以繼承多個接口
注意:
1.如果多個父接口中有同名的抽象方法,那么子接口只需要實現(xiàn)一次即可
2.如果多個父接口中有同名的默認(rèn)方法,那么子接口必須重寫默認(rèn)方法,必須要加default關(guān)鍵字
try{Connection con;\x0d\x0a Statement stmt;\x0d\x0a ResultSet rs;\x0d\x0a int temp;\x0d\x0a Class.forName("com.mysql.jdbc.Driver");\x0d\x0a con=DriverManager.getConnection("jdbc:mysql://localhost:3306/java","root","");//以上是數(shù)據(jù)庫連接,不同的數(shù)據(jù)管理器有 //不同的驅(qū)動和鏈接方式,以上是mysql的連接\x0d\x0astmt=con.createStatement();\x0d\x0a rs=stmt.executeQuery("select * from student");//執(zhí)行查詢語句,結(jié)果賦值給結(jié)果集rs\x0d\x0a //結(jié)果集是結(jié)果于字段編號的映射,每一個字\x0d\x0a //段都有一個編號,最小為1,也就是第一個字段 \x0d\x0a while(rs.next()){\x0d\x0a String names=rs.getString("name");//查詢結(jié)果轉(zhuǎn)換成字符串。\x0d\x0a \x0d\x0a System.out.println(names);\x0d\x0a\x0d\x0a}rs.close();\x0d\x0a }catch(Exception e){\x0d\x0a e.printStackTrace();\x0d\x0a }
你說的java源代碼是指編譯成的class文件前的java文件。
當(dāng)我們運行.java文件時,它會被系統(tǒng)編譯成.class文件,例如Test.java編譯之后就是Test.class,
源文件就是指Test.java文件,
一般部署項目時,有.class文件就可以發(fā)布運行了,但是如果想修改這個系統(tǒng),.class是不能修改的,要有.java文件才能修改
也可以上網(wǎng)去下反編譯軟件,就是能把.class文件大部分還原成.java文件的工具,但不是100%還原,而且如果不是正版的,小心有毒啊,什么的。
java查某個類的源碼可以通過jar包
例如查看java.lang.Integer源代碼
把src解壓了就行了啊,然后打開解壓后的src文件夾下的java/long/ 就有Integer.java文件了