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














