1. 程式人生 > 其它 >java學習day11(Eclipse的使用&Object類)

java學習day11(Eclipse的使用&Object類)

技術標籤:java學習筆記javaeclipse程式語言

11.01_Java開發工具(常見開發工具介紹)(瞭解)

  • A:作業系統自帶的記事本軟體
  • B:高階記事本軟體
  • C:整合開發環境 IDE
    • (Integrated Development Environment)
  • D:Eclipse和MyEclipse的區別
    • a:Eclipse是一種可擴充套件的開放原始碼的IDE。
    • b:Eclipse的特點描述
      • 免費
      • 純Java語言編寫
      • 免安裝
      • 擴充套件性強
    • c:MyEclipse
      • 在Eclipse基礎上追加的功能性外掛,對外掛收費
      • 在WEB開發中提供強大的系統架構平臺
  • E:下載 http://eclipse.org/
    • org是非盈利團體
  • F:安裝
    • 綠色版 解壓就可以使用(Eclipse)
    • 安裝版 雙擊執行,一路next即可(JDK)
  • G:解除安裝
    • 綠色版 直接刪除資料夾即可
    • 安裝版 專業解除安裝軟體或者控制面板新增刪除程式

11.02_Java開發工具(Eclipse中HelloWorld案例以及漢化)(瞭解)

  • A:選擇工作空間
    • 工作空間 其實就是我們寫的原始碼所在的目錄
  • B:用Eclipse來完成一個HelloWorld案例
    • 程式碼以專案為基本單位
    • 建立專案
    • 建立包
    • 建立類
    • 編寫程式碼
  • C:編譯和執行
  • D:Eclipse的漢化
    • 從Eclipse3.5開始,安裝目錄下就多了一個dropins目錄,只要將外掛解壓後放到到該目錄即可。
    • 同理,這種方式解除安裝外掛也是特別的方便,推薦這種方式
  • E:語法檢查提示
    • 紅色波浪線
      • 必須處理,否則編譯通不過
    • 黃色波浪線
      • 可以不搭理他

11.03_Java開發工具(Eclipse的視窗和檢視概述)(瞭解)

  • A:視窗 每一個基本的窗體被稱為視窗
    • PackageExplorer 顯示專案結構,包,類,及資源
    • Outline 顯示類的結構,方便查詢,識別,修改
    • Console 程式執行的結果在該視窗顯示
    • Hierarchy 顯示Java繼承層次結構,選中類後F4
  • B:檢視 是由某些視窗的組合而成的
    • Java檢視
    • Debug檢視

11.04_Java開發工具(Eclipse工作空間的基本配置)(掌握)

  • A:程式的編譯和執行的環境配置(一般不改)
    • window – Preferences – Java
    • 編譯環境:Compiler 預設選中的就是最高版本。
    • 執行環境:Installed JREs 預設會找你安裝的那個JDK。建議配置了Java的環境變數。
    • 問題:
      • 低編譯,高執行。可以。
      • 高編譯,低執行。不可以。
      • 建議,編譯和執行的版本一致。
  • B:如何去掉預設註釋?
    • window – Preferences – Java – Code Style – Code Templates
    • 選擇你不想要的內容,通過右邊Edit編輯。
    • 注意:請只刪除註釋部分,不是註釋部分的不要刪除。
  • C:行號的顯示和隱藏
    • 顯示:在程式碼區域的最左邊的空白區域,右鍵 – Show Line Numbers即可。
    • 隱藏:把上面的動作再做一次。
  • D:字型大小及顏色
    • a:Java程式碼區域的字型大小和顏色:
      • window – Preferences – General – Appearance – Colors And Fonts --Java修改 – Java Edit Text Font
    • b:控制檯
      • window – Preferences – General – Appearance – Colors And Fonts – Debug – Console font
    • c:其他檔案
      • window – Preferences – General – Appearance – Colors And Fonts – Basic – Text Font
  • E:窗體給弄亂了,怎麼辦?
    • window – Reset Perspective
  • F:控制檯找不到了,怎麼辦?
    • Window–Show View—Console
  • G:取消懸浮提示
    • window – Preferences – Java–Editor–Hovers。右邊將Combined Hover勾去掉。
    • 這樣程式碼的懸浮框就不會自動出現了。如果想看提示,將游標懸浮在程式碼上,按F2即可。

11.05_Java開發工具(Eclipse中內容輔助鍵的使用)(掌握)

  • A:Alt+/ 起提示作用
  • B:main+alt+/,syso+alt+/,給出其他提示
  • C:補充輸出語句,選中需要輸出的部分,alt+/選擇最後一項即可
  • C:定義自己的alt + /
    • windows–perference-Java-Editor-Templates–New

11.06_Java開發工具(Eclipse中快捷鍵的使用)(掌握)

  • A:新建 ctrl + n
  • B:格式化 ctrl+shift+f
  • C:匯入包 ctrl+shift+o
  • D:註釋 ctrl+/,ctrl+shift+/,ctrl+shift+\
  • E:程式碼上下移動 選中程式碼alt+上/下箭頭
  • F:檢視原始碼 選中類名(F3或者Ctrl+滑鼠點選)
  • G:查詢具體的類 ctrl + shift + t
  • H:查詢具體類的具體方法 ctrl + o
  • I:給建議 ctrl+1,根據右邊生成左邊的資料型別,生成方法
  • J:刪除程式碼 ctrl + d
  • K:抽取方法alt + shift + m
  • L:改名alt + shift + r

11.07_Java開發工具(Eclipse中如何提高開發效率)(掌握)

  • alt + shift + s
  • A:自動生成構造方法
  • B:自動生成get/set方法

11.08_Java開發工具(Eclipse中一個標準學生類及其測試)(掌握)

  • A:案例演示
    • 用Eclipse實現標準學生類及其測試

11.09_Java開發工具(Eclipse中介面抽象類具體類程式碼體現)(掌握)

  • A:案例演示
    • 用Eclipse實現介面抽象類具體類程式碼

11.10_Java開發工具(Eclipse中如何生成jar包並匯入到專案中)(瞭解)

  • A:jar是什麼?
    • jar是多個class檔案的壓縮包。
  • B:jar有什麼用?
    • 用別人寫好的東西
  • C:打jar包
    • 選中專案–右鍵–Export–Java–Jar–自己指定一個路徑和一個名稱–Finish
  • D:匯入jar包
    • 複製到專案路徑下並新增至構建路徑。

11.11_Java開發工具(Eclipse中如何刪除專案和匯入專案)(掌握)

  • A:刪除專案
    • 選中專案 – 右鍵 – 刪除
      • 從專案區域中刪除
      • 從硬碟上刪除
  • B:匯入專案
    • 在專案區域右鍵找到import
    • 找到General,展開,並找到
    • Existing Projects into Workspace
    • 點選next,然後選擇你要匯入的專案
    • 注意:這裡選擇的是專案名稱

11.12_Java開發工具(Eclipse中斷點除錯的基本使用)(瞭解)

  • A:Debug的作用
    • 除錯程式
    • 檢視程式執行流程
  • B:如何檢視程式執行流程
    • 什麼是斷點:

      • 就是一個標記,從哪裡開始。
    • 如何設定斷點:

      • 你想看哪裡的程式,你就在那個有效程式的左邊雙擊即可。
    • 在哪裡設定斷點:

      • 哪裡不會點哪裡。
      • 目前:我們就在每個方法的第一條有效語句上都加。
    • 如何執行設定斷點後的程式:

      • 右鍵 – Debug as – Java Application
    • 看哪些地方:

      • Debug:斷點測試的地方
        • 在這個地方,記住F6,或者點選也可以。一次看一行的執行過程。
      • Variables:檢視程式的變數變化
      • ForDemo:被檢視的原始檔
      • Console:控制檯
    • 如何去斷點:

      • a:再次雙擊即可
      • b:找到Debug檢視,Variables介面,找到Breakpoints,並點選,然後看到所有的斷點,最後點選那個雙叉。

11.13_Java開發工具(Eclipse檢視Java中引數傳遞問題)(瞭解)

  • A:斷點演示
    • 斷點檢視Java中引數傳遞問題

11.14_常見物件(API概述)(瞭解)

  • A:API(Application Programming Interface)
    • 應用程式程式設計介面
  • B:Java API
    • 就是Java提供給我們使用的類,這些類將底層的實現封裝了起來,
    • 我們不需要關心這些類是如何實現的,只需要學習這些類如何使用。

11.15_常見物件(Object類的概述)(瞭解)

  • A:Object類概述
    • 類層次結構的根類
    • 所有類都直接或者間接的繼承自該類
  • B:構造方法
    • public Object()
    • 回想面向物件中為什麼說:
    • 子類的構造方法預設訪問的是父類的無參構造方法

11.16_常見物件(Object類的hashCode()方法)(瞭解)

  • A:案例演示
    • public int hashCode()
    • a:返回該物件的雜湊碼值。預設情況下,該方法會根據物件的地址來計算。
    • b:不同物件的,hashCode()一般來說不會相同。但是,同一個物件的hashCode()值肯定相同。
package objectClass;

public class ObjectClass {
    public static void main(String[] args) {
        Object obj1 = new Object();
        int hashCode = obj1.hashCode();
        System.out.println(hashCode);

        String str1 = new String("zixiao");
        String str2 = new String("jiayou");
        int hashCode2 = str1.hashCode();
        int hashCode3 = str2.hashCode();
        System.out.println(hashCode2);
        System.out.println(hashCode3);

    }
}

rsult:在這裡插入圖片描述

11.17_常見物件(Object類的getClass()方法)(在反射的時候掌握)

  • A:案例演示
    • public final Class getClass()
    • a:返回此 Object 的執行時類。
    • b:可以通過Class類中的一個方法,獲取物件的真實類的全名稱。
      • public String getName()
package day11_objectClass;

public class GetClass {
    public static void main(String[] args) {
        String str = new String("zixiao");
        Class className = str.getClass();
        String name = className.getName();
        //通過上面的方法能夠拿到一個類的類名
        System.out.println(name);
    }
}


result:

11.18_常見物件(Object類的toString()方法)(掌握)

  • A:案例演示
    • public String toString()
    • a:返回該物件的字串表示。
    • b:它的值等於:
      • getClass().getName() + “@” + Integer.toHexString(hashCode())
    • c:由於預設情況下的資料對我們來說沒有意義,一般建議重寫該方法。
package day11_objectClass;

public class ToString {
    public static void main(String[] args) {
        Student s = new Student("zixiao",22);
        String str = s.toString();
        System.out.println(str);
        //[email protected]
        //@前面是類名
        //@後面是該物件的雜湊碼的十六進位制表現形式
        //這麼寫沒有什麼實際意義,所以我們一般對它進行重寫

    }
}

class Student {
    String name;
    int age;
    public Student() {

    }
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }

}

result:
在這裡插入圖片描述

  • B:最終版

    • 自動生成
package day11_objectClass;

public class ToString {
    public static void main(String[] args) {
        Student s = new Student("zixiao",22);
        String str = s.toString();
        System.out.println(str);
        //[email protected]
        //@前面是類名
        //@後面是該物件的雜湊碼的十六進位制表現形式
        //這麼寫沒有什麼實際意義,所以我們一般對它進行重寫

    }
}

class Student {
    String name;
    int age;
    public Student() {

    }
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + "'" +
                ", age=" + age +
                '}';
    }
}

result:
在這裡插入圖片描述

11.19_常見物件(Object類的equals()方法)(掌握)

  • A:案例演示
    • a:指示其他某個物件是否與此物件“相等”。
    • b:預設情況下比較的是物件的引用是否相同。
    • c:由於比較物件的引用沒有意義,一般建議重寫該方法。
package day11_objectClass;



public class Equals {
    //equals()方法比較兩個物件是否相等
    public static void main(String[] args) {
        Student1 s1 = new Student1("zixiao",22);
        Student1 s2 = new Student1("zixiao",22);
        boolean result = s1.equals(s2);
        System.out.println(result);
    }
}
class Student1 {
    String name;
    int age;
    public Student1() {

    }
    public Student1(String name,int age) {
        this.name = name;
        this.age = age;
    }

    //重寫equals方法
    public boolean equals(Object o) {
        Student1 s = (Student1)o;
        return this.name.equals(s.name) && this.age == s.age;
    }
}


result:
在這裡插入圖片描述

11.20_常見物件(==號和equals方法的區別)(掌握)

  • ==是一個比較運算子號,既可以比較基本資料型別,也可以比較引用資料型別,基本資料型別比較的是值,引用資料型別比較的是地址值
  • equals方法是一個方法,只能比較引用資料型別,所有的物件都會繼承Object類中的方法,如果沒有重寫Object類中的equals方法,equals方法和==號比較引用資料型別無區別,重寫後的equals方法比較的是物件中的屬性