1:Eclipse的概述使用(掌握)
編譯和運(yùn)行
1.編譯----自動(dòng)編譯,在保存的那一刻幫你做好了
2.運(yùn)行 點(diǎn)擊蟲(chóng)子后面的綠色內(nèi)在三角形按鈕
點(diǎn)擊Run菜單下的run。也可以使用快捷鍵Ctrl+F11
選擇要運(yùn)行的文件或者在要運(yùn)行的文件內(nèi)容中
右鍵 -- Run as - Java Application即可
看到Console即可,它就是Eclipse自帶的控制臺(tái)
視窗和視圖
每一個(gè)基本的窗體被稱(chēng)為視窗
PackageExplorer 顯示項(xiàng)目結(jié)構(gòu),包,類(lèi),及資源
Outline 顯示類(lèi)的結(jié)構(gòu),方便查找,識(shí)別,修改
Console 程序運(yùn)行的結(jié)果在該窗口顯示
Problems 顯示所有語(yǔ)法及錯(cuò)誤所在的位置
Hierarchy 顯示Java繼承層次結(jié)構(gòu),選中類(lèi)后F4
視圖 是由某些視窗的組合而成的。舉例:Java視圖、Debug視圖
快捷鍵的使用
1.內(nèi)容輔助鍵
Alt+/ 起提示作用
main+alt+/,sout+alt+/,給出其他提示
2.常用快捷鍵
格式化 ctrl+shift+f
導(dǎo)入包 ctrl+shift+o
注釋 ctrl+/,ctrl+shift+/,ctrl+shift+
代碼上下移動(dòng) 選中代碼alt+上/下箭頭
查看源碼 選中類(lèi)名(F3或者Ctrl+鼠標(biāo)點(diǎn)擊)
3.Eclipse中如何提高開(kāi)發(fā)效率
a:無(wú)參構(gòu)造方法
在代碼區(qū)域右鍵--source--Generate Constructors from Superclass
b:帶參構(gòu)造方法
在代碼區(qū)域右鍵--source--Generate Constructors using fields.. -- finish
B:成對(duì)的getXxx()和setXxx()
在代碼區(qū)域右鍵--source--Generate Getters and Setters...
shift+Alt+s cor
4.Eclipse中打jar包并使用jar包
jar是什么?
jar是多個(gè)class文件的壓縮包。
jar有什么用?
用別人寫(xiě)好的東西
打jar包
選中項(xiàng)目--右鍵--Export--Java--Jar--自己指定一個(gè)路徑和一個(gè)名稱(chēng)--Finish
使用jar包
復(fù)制到項(xiàng)目路徑下并添加至構(gòu)建路徑。
5.Eclipse中代碼的高級(jí)(Debug)調(diào)試
Debug的作用:調(diào)試程序、查看程序執(zhí)行流程
如何查看程序執(zhí)行流程
什么是斷點(diǎn)
如何設(shè)置斷點(diǎn)
在哪里設(shè)置斷點(diǎn)
如何運(yùn)行設(shè)置斷點(diǎn)后的程序
看哪些地方
如何去除斷點(diǎn)
2:API的概述(了解)
API(Application Programming Interface)
(1)應(yīng)用程序編程接口。
(2)就是JDK提供給我們的一些提高編程效率的java類(lèi)。
3:Object類(lèi)(掌握)
(1)Object是類(lèi)層次結(jié)構(gòu)的根類(lèi),所有的類(lèi)都直接或者間接的繼承自O(shè)bject類(lèi)。
(2)Object類(lèi)的構(gòu)造方法有一個(gè),并且是無(wú)參構(gòu)造
這其實(shí)就是理解當(dāng)時(shí)我們說(shuō)過(guò),子類(lèi)構(gòu)造方法默認(rèn)訪問(wèn)父類(lèi)的構(gòu)造是無(wú)參構(gòu)造
(3)要掌握的方法:
A:toString()
返回對(duì)象的字符串表示,默認(rèn)是由類(lèi)的全路徑+'@'+哈希值的十六進(jìn)制表示。
這個(gè)表示其實(shí)是沒(méi)有意義的,一般子類(lèi)都會(huì)重寫(xiě)該方法。
如何重寫(xiě)呢?過(guò)程我也講解過(guò)了,基本上就是要求信息簡(jiǎn)單明了。
但是最終還是自動(dòng)生成。比較對(duì)象的成員變量值是否相同
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
B:equals()
比較兩個(gè)對(duì)象是否相同。默認(rèn)情況下,比較的是地址值是否相同。
而比較地址值是沒(méi)有意義的,所以,一般子類(lèi)也會(huì)重寫(xiě)該方法。
重寫(xiě)過(guò)程,我也詳細(xì)的講解和分析了。
但是最終還是自動(dòng)生成。
(4)要了解的方法:
A:hashCode() 返回對(duì)象的哈希值。不是實(shí)際地址值,可以理解為地址值。
B:getClass() 返回對(duì)象的字節(jié)碼文件對(duì)象,反射中我們會(huì)詳細(xì)講解
String str2 = s.getClass().getName();// cn.itcast_01.Student
C:finalize() 用于垃圾回收,在不確定的時(shí)間
D:clone() 可以實(shí)現(xiàn)對(duì)象的克隆,包括成員變量的數(shù)據(jù)復(fù)制,但是它和兩個(gè)引用指向同一個(gè)對(duì)象是有區(qū)別的。
protected Object clone():創(chuàng)建并返回此對(duì)象的一個(gè)副本。
A:重寫(xiě)該方法
Cloneable:此類(lèi)實(shí)現(xiàn)了 Cloneable 接口,以指示 Object.clone() 方法可以合法地對(duì)該類(lèi)實(shí)例進(jìn)行按字段復(fù)制。 這個(gè)接口是標(biāo)記接口,告訴我們實(shí)現(xiàn)該接口的類(lèi)就可以實(shí)現(xiàn)對(duì)象的復(fù)制了。
(5)兩個(gè)注意問(wèn)題;
A:直接輸出一個(gè)對(duì)象名稱(chēng),其實(shí)默認(rèn)調(diào)用了該對(duì)象的toString()方法。
B:面試題
==和equals()的區(qū)別?
A:==
基本類(lèi)型:比較的是值是否相同
引用類(lèi)型:比較的是地址值是否相同
B:equals()
只能比較引用類(lèi)型。默認(rèn)情況下,比較的是地址值是否相同。但是,我們可以根據(jù)自己的需要重寫(xiě)該方法。
我們要判斷的是對(duì)象是否是某個(gè)類(lèi)的對(duì)象
格式:
對(duì)象名 instanceof 類(lèi)名
表示判斷該對(duì)象名是否是該類(lèi)名一個(gè)對(duì)象
if(obj instanceof Student){
return false;
}