No_16_0303 Java基礎學習第十一天

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

常用快捷鍵

  • 內容輔助鍵

    • 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())
      • toHexStringInteger類下的一個靜態(tài)方法:把一個整數(shù)轉成一個十六進制表示的字符串
    • eg:
        //兩行代碼結果一致
        System.out.println(s.getClass().getName() + '@'
        + Integer.toHexString(s.hashCode()));
    
        System.out.println(s.toString());
    
    • 注:直接輸出一個對象的名稱,其實就是調用該對象的toString方法。
  • 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 類名
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容