| 文檔版本 | 開(kāi)發(fā)工具 | 測(cè)試平臺(tái) | 工程名字 | 日期 | 作者 | 備注 |
|---|---|---|---|---|---|---|
| V1.0 | 2016.03.03 | lutianfei | none |
Eclipse的概述
- Eclipse是一種可擴(kuò)展的開(kāi)放源代碼的IDE。
- Eclipse的特點(diǎn)描述
- 免費(fèi)
- 純Java語(yǔ)言編寫
- 免安裝
- 擴(kuò)展性強(qiáng)
MyEclipse概述
- 在Eclipse基礎(chǔ)上追加的功能性插件,對(duì)插件收費(fèi)
- 在WEB開(kāi)發(fā)中提供強(qiáng)大的系統(tǒng)架構(gòu)平臺(tái)
Eclipse的基本使用
HelloWorld案例
-
1、File-> New ->Project 選
Java Project
-
2、 命名工程后選擇
Finish
-
3、 新建一個(gè)包
-
4、新建一個(gè)類
-
5、 編譯
- 自動(dòng)編譯,在保存的那一刻幫你做好了
-
6、運(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)
源代碼語(yǔ)法檢查
- 紅色波浪線 :錯(cuò)誤的源代碼
- 黃色波浪線 :未使用的成員或有安全隱患的成員
大綱視窗的使用
-
根據(jù)大綱視窗中的不同圖標(biāo),判斷不同的變量狀態(tài)。
-
選中某個(gè)類后按
F4可以看到=該類的繼承狀態(tài)。
基本環(huán)境設(shè)置
字體顏色和大小
代碼區(qū):
window->Preferences->General->Appearance->Colors And Fonts->Java Edit Text Font控制臺(tái):
Debug->Console font其他文件
Basic->Text Font
窗口還原
window ->Perspective-> Reset Perspective
控制臺(tái)還原
Window--Show View—Console
常用快捷鍵
-
內(nèi)容輔助鍵
- Alt+/ 起提示作用
- main+alt+/,syso+alt+/,給出其他提示
格式化
ctrl+shift+f導(dǎo)入包
ctrl+shift+o單行注釋
ctrl+/多行注釋:
ctrl+shift+/多行去注釋:
ctrl+shift+\代碼上下移動(dòng) 選中代碼
alt+上/下箭頭查看源碼 選中類名(
F3或者Ctrl+鼠標(biāo)點(diǎn)擊)
提高開(kāi)發(fā)效率的快捷鍵
-
自動(dòng)生成構(gòu)造方法
- 無(wú)參構(gòu)造方法 :
Alt+Shift+s+c - 帶參構(gòu)造方法 :
Alt+Shift+s+o
- 無(wú)參構(gòu)造方法 :
自動(dòng)生成get/set方法 :
Alt+Shift+s+r-
繼承抽象類,或者實(shí)現(xiàn)接口
-
如下設(shè)置可將重寫方法模板直接給出
-
package cn.itcast_03;
public class Cat extends Animal {
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("Hello Cat");
}
}
- 注:這里
@Overide是注解的意思,即這個(gè)方法是重寫父類的,如果和父類名字不一致就會(huì)報(bào)錯(cuò)。
生成jar包并使用jar包
- jar是什么?
- jar是多個(gè)class文件的壓縮包。
- jar有什么用?
- 用別人寫好的東西
- 打jar包
- 選中
項(xiàng)目--右鍵--Export--Java--Jar--自己指定一個(gè)路徑和一個(gè)名稱--Finish-
step1:
-
step2:
-
step3:
-
- 選中
- 使用jar包
- 復(fù)制到項(xiàng)目路徑下并添加至構(gòu)建路徑。
-
step1:
-
step2:
-
- 復(fù)制到項(xiàng)目路徑下并添加至構(gòu)建路徑。
Eclipse中如何制作幫助文檔
- 選中項(xiàng)目--右鍵--Export--Java--Javadoc—Finish
刪除項(xiàng)目和導(dǎo)入項(xiàng)目
- 刪除項(xiàng)目
- 選中項(xiàng)目 – 右鍵 – 刪除
- 從項(xiàng)目區(qū)域中刪除
- 從硬盤上刪除
- 選中項(xiàng)目 – 右鍵 – 刪除
- 導(dǎo)入項(xiàng)目
- 在項(xiàng)目區(qū)域右鍵找到import
- 找到General,展開(kāi),并找到
- Existing Projects into Workspace
- 點(diǎn)擊next,然后選擇你要導(dǎo)入的項(xiàng)目
- 注意:這里選擇的是項(xiàng)目名稱
修改項(xiàng)目名稱
- 除了項(xiàng)目文件夾名字要修改,不要忘記了配置文件.project中的
高級(jí)(Debug)調(diào)試
-
單步調(diào)試:
F6
斷點(diǎn)查看基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞問(wèn)題
Object類
Object類的成員方法
-
public int hashCode()
- A:返回該對(duì)象的哈希碼值。默認(rèn)情況下,該方法會(huì)根據(jù)對(duì)象的地址來(lái)計(jì)算。
- B:不同對(duì)象的,hashCode()一般來(lái)說(shuō)不會(huì)相同。但是,同一個(gè)對(duì)象的hashCode()值肯定相同。
- C:不是對(duì)象的實(shí)際地址值,可以理解為邏輯地址值
-
public final Class getClass()
返回此 Object 的運(yùn)行時(shí)類- A:返回此 Object 的運(yùn)行時(shí)類。
- B:可以通過(guò)Class類中的一個(gè)方法,獲取對(duì)象的真實(shí)類的全名稱。
- eg:
Student s = new Student(); Class c = s.getClass(); String str = c.getName(); System.out.println(str); // cn.itcast_01.Student //鏈?zhǔn)骄幊?String str2 = s.getClass().getName(); System.out.println(str2);
-
public String toString(): 返回該對(duì)象的字符串表示,默認(rèn)是全路徑+
@+哈希值的十六進(jìn)制表示。- 其返回值等價(jià)于:getClass().getName() + '@' + Integer.toHexString(hashCode())
-
toHexString是Integer類下的一個(gè)靜態(tài)方法:把一個(gè)整數(shù)轉(zhuǎn)成一個(gè)十六進(jìn)制表示的字符串
-
- eg:
//兩行代碼結(jié)果一致 System.out.println(s.getClass().getName() + '@' + Integer.toHexString(s.hashCode())); System.out.println(s.toString());- 注:直接輸出一個(gè)對(duì)象的名稱,其實(shí)就是調(diào)用該對(duì)象的toString方法。
- 其返回值等價(jià)于:getClass().getName() + '@' + Integer.toHexString(hashCode())
-
public boolean <font color = red> equals</font> (Object obj) : 指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。
- 默認(rèn)情況下比較的是地址值。
protected void finalize(): 當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。用于垃圾回收,但是什么時(shí)候回收不確定。
-
protected Object clone():創(chuàng)建并返回此對(duì)象的一個(gè)副本
-
Cloneable:此類實(shí)現(xiàn)了 Cloneable 接口,以指示 Object.clone() 方法可以合法地對(duì)該類實(shí)例進(jìn)行按字段復(fù)制。這個(gè)接口是標(biāo)記接口,告訴我們實(shí)現(xiàn)該接口的類就可以實(shí)現(xiàn)對(duì)象的復(fù)制了。
-
public class Student implements Cloneable {
private String name;
private int age;
public Student() {
super();
}
public class StudentDemo {
public static void main(String[] args) throws CloneNotSupportedException {
//創(chuàng)建學(xué)生對(duì)象
Student s = new Student();
s.setName("林青霞");
s.setAge(27);
//克隆學(xué)生對(duì)象
Object obj = s.clone();
Student s2 = (Student)obj;
System.out.println("---------");
System.out.println(s.getName()+"---"+s.getAge());
System.out.println(s2.getName()+"---"+s2.getAge());
//以前的做法
Student s3 = s;
System.out.println(s3.getName()+"---"+s3.getAge());
System.out.println("---------");
//其實(shí)是有區(qū)別的
s3.setName("劉意");
s3.setAge(30);
System.out.println(s.getName()+"---"+s.getAge());
System.out.println(s2.getName()+"---"+s2.getAge());
System.out.println(s3.getName()+"---"+s3.getAge());
}
}
-
toString方法的重寫
- 右鍵->Source -> Generate toString()...
- 快捷鍵:
Alt+Shift+s+s
-
equals方法的重寫:- 方式一:手動(dòng)重寫(如下)
- 方式二:自動(dòng)生成:
- 右鍵->Source -> Generate hashCode and equals()...
- 快捷鍵:
Alt+Shift+s+h
Eg: 重寫equals方法:
@Override
public boolean equals(Object obj) {
//name是String類型的,而String是引用類型的,所以,在這里不能直接用==比較,應(yīng)該用equals()比較
//String的equals()方法是重寫自O(shè)bject類的,比較的是字符串的內(nèi)容是否相同
//this -- s1
//obj -- s2
//我們要使用的是學(xué)生類的特有成員變量,所以要向下轉(zhuǎn)型
Student s = (Student)obj; //s -- obj -- s2;
if(!(obj instanceof Student)){
return false;
}
//如果是就繼續(xù)
Student s = (Student)obj;
//System.out.println("同一個(gè)對(duì)象,還需要向下轉(zhuǎn)型并比較嗎?");
return this.name.equals(s.name) && this.age == s.age;
}
-
==的用法:- 基本類型:比較的就是值是否相同
- 引用類型:比較的就是地址值是否相同
equals只能比較引用類型,默認(rèn)情況下比較的是地址值是否相同,但可以根據(jù)需求重寫該方法。-
instanceof: 判斷對(duì)象名是否是該類名的一個(gè)對(duì)象- 格式:
對(duì)象名instanceof類名
- 格式:














