No_16_0303 Java基礎(chǔ)學(xué)習(xí)第十一天

文檔版本 開(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 ViewConsole

常用快捷鍵

  • 內(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
  • 自動(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:



Eclipse中如何制作幫助文檔

  • 選中項(xiàng)目--右鍵--Export--Java--Javadoc—Finish

刪除項(xiàng)目和導(dǎo)入項(xiàng)目

  • 刪除項(xiàng)目
    • 選中項(xiàng)目 – 右鍵 – 刪除
      • 從項(xiàng)目區(qū)域中刪除
      • 從硬盤上刪除
  • 導(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())
      • toHexStringInteger類下的一個(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方法。
  • 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 類名
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、簡(jiǎn)介 eclipse可謂是Java開(kāi)發(fā)界的神器,基本占據(jù)了大部分的Java開(kāi)發(fā)市場(chǎng),而且其官方還對(duì)其他語(yǔ)言提供...
    簡(jiǎn)單應(yīng)用閱讀 2,478評(píng)論 0 14
  • PyCharm3.0默認(rèn)快捷鍵 PyCharm Default Keymap 1、編輯(Editing) Ctrl...
    西多的大叔閱讀 4,215評(píng)論 0 18
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,854評(píng)論 18 399
  • 隨著消費(fèi)升級(jí) 新零售全渠道,接下來(lái)C2M/C2F/C2B將是主流趨勢(shì),過(guò)去2年迷茫的O2O模式,將在接下來(lái)的日子里...
    cae6f12ddc62閱讀 734評(píng)論 0 0
  • 葡萄酒品鑒是一項(xiàng)復(fù)雜而精細(xì)的活動(dòng)。如果要全面細(xì)致地鑒別葡萄酒的顏色、香氣、風(fēng)味和口感等特點(diǎn),你不僅要具有基本的品鑒...
    九月之上閱讀 366評(píng)論 0 1

友情鏈接更多精彩內(nèi)容