day09-課堂筆記
1、關于Java的集成開發環境【集成開發環境簡稱:IDE】
1.1、什么是集成開發環境?
* 集成開發環境講究一站式開發,使用這個工具即可,有提示功能,有自動糾錯功能,
* 集成開發環境可以讓軟體開發變的更簡單、更高效,
* 沒有IDE工具:
- 需要安裝JDK、需要配置環境變數、需要手動的將java源檔案編譯生成class位元組碼檔案
- java源程式出錯之后還沒有提示
- 沒有自動提示功能等,
* 有IDE工具:
- 不需要獨立安裝JDK【IDE中已經集成】
- 不需要手動配置環境變數
- 不需要使用javac命令對java源檔案進行編譯
- 并且java源程式撰寫語法錯誤馬上又提示
- 使用IDE工具有很多代碼不需要寫,自動生成了,
1.2、java有哪些比較牛的IDE呢?
* eclipse (myeclipse)【最多】
* Intellij IDEA【上升的趨勢】
* NetBeans
* JBuilder
.......
目前階段我們使用的是:myeclipse10
2、講解myeclipse的使用:
* workspace:作業區
- 當myeclipse打開的時候,大多數都是會提示選擇作業區
- 這個作業區可以是已存在的作業區,也可以是新建的作業區
- 選擇作業區之后,將來撰寫的java代碼,自動編譯的class檔案都會在作業區中找到
- myeclipse可以開啟兩個甚至更多的會話,每一個會話對應不同的workspace
* 在workspace作業區當中有一個檔案夾:.metadata
- 在該檔案夾當中存盤了當前myeclipse的作業狀態
- 將.metadata檔案夾洗掉之后,下一次再次進入這個作業區的時候,是一個全新的開始,
但是會發現這個IDE工具當中所有的專案丟失了,沒關系,這里只是丟失的myeclipse的專案,
硬碟上真實存盤的專案不會丟失,
* 打開myeclipse之后:視窗
- 視窗雙擊可以最大化或者還原
- 視窗可以拖動
- 視窗不小心關閉了,可以再次打開:
window --> show view --> Other --> 輸入自己要找的視窗

* myeclipse為程式員準備了很多不同的布局方式:
- 企業級開發:JavaEE開發的專用布局- MyEclipse Java Enterprise
- 普通java開發的:JavaSE開發的專用布局 - Java
- 怎么切換布局?
* myeclipse右上角
* 當這個布局被破壞之后想復原?
- window --> Reset...p...

* 重點的視窗介紹
* Package Explore / Navigator / Project Explore :可以看到java源檔案

* Console:控制臺視窗

* 作業區workspace中基本的單元是:Project(工程/專案)
* 使用myeclipse創建工程:
- 在Package Explore視窗當中點擊右鍵 --> new --> Java Project【JavaSE工程】:當然還有其它方式
比如,點選單欄的new,或者在其下的圖示的下拉鍵
* 指定java工程的名稱:一般全部小寫
* 指定java工程的存放目錄
* Java的運行時環境:JRE的配置【可以選擇使用myeclipse自帶的JRE,也可以選擇程式員自己安裝的JRE】
* Project layout : 工程的目錄布局
- 多數情況下都是選擇:兩個獨立的檔案夾存盤原始碼(src)和位元組碼(bin)【默認不用管】
* 在src目錄下新建軟體包:package機制后面講,目前先用著,
- 在src目錄上點擊右鍵 --> new --> package
- 給package起名:com.bjpowernode.javase;
- 包package是java中語法的一部分,后面講
* 在軟體包下新建一個java類:
- 在包上點擊滑鼠右鍵 --> new --> class【紅色打勾,生成main方法】

- 顯示行號:在java源程式的左側欄上點擊滑鼠右鍵:show line number
- 設定字體大小:
window --> Preferences --> 輸入font --> colors and fonts --> Basic --> Text Font --> Edit

* 【關于myeclipse中常用的部分快捷鍵】
- ctrl + d 洗掉一行
- alt + / 自動補全 (/是斜杠,\ 是反斜杠)
比如,輸入main 后alt + / 回車補全主方法
輸入/* 后alt + / 回車補全注釋
輸入for后alt + / 回車補全回圈
.....
- ctrl + 1 糾錯(不用點紅色叉號了)
- ctrl + alt + down 復制本行,粘貼到下一行
- Ctrl + Shift + F 格式規范化
....
* 【注意:myeclipse當中的java源代碼有的時候不保存是不會編譯的,所以時刻記住:ctrl + s】
* myeclipse當中,出現紅色下劃線的表示編譯錯誤,語法錯誤,
滑鼠停留在紅色的下劃線上面會有錯誤提示資訊,
并且點擊左邊的×,可以進行糾錯,【當然也可以游標停留在紅色下劃線上面: ctrl + 1】
* 有的時候程式出現黃色的下劃線,表示警告,編譯可以通過,
* 快捷鍵怎么設定?
window --> Preferences --> keys
* 怎么運行一個帶有主方法的java程式?
* 在java源程式的任何位置點擊滑鼠右鍵 --> Run As --> Java Application

3、面向物件的封裝性 【面試可能會問封裝的好處】

【電視機裝外殼和不裝外殼,顯然裝外殼更安全】
【封裝的步驟】


【有 static 關鍵字的方法呼叫:類名 . 方法名(實參)】
【無 static 關鍵字的方法呼叫:參考 . 方法名(實參)】
【定義用戶類,屬性私有化】

【訪問入口寫在自身類中】

【測驗】

【快速封裝】

在彈出視窗進行以下操作

【上圖中右上角可以自主選擇】
快速封裝實作

4、構造方法




【這里的回傳值型別是構造方法所在類的型別,這樣理解:string是字串型別,本身也是一個類】
=======================================================================================================================
【建構式本身】

【呼叫建構式】

【結果有輸出】
==================================================================================================
【構造方法的多載】

【構造方法的多載呼叫】
【深入理解:創建物件時,若呼叫無引數構造方法,所創物件的各屬性值為默認值(0或null...)
而呼叫有參構造方法時,所創物件的各屬性值為給定的引數值】

【從上面和下面兩部分得出:構造方法和無static方法的區別是,前者非但不寫static,連定義方法時的回傳型別都不用寫】

======================================================================
【PS:兩星號的注釋會生成幫助檔案,有利于開發】

【小知識點】
1.查看呼叫的方法是哪個
按住ctrl,滑鼠移動至呼叫的方法名上,出現下劃線后,單擊,自動跳轉至方法體
2.方法較多時如何查看,查找?
Ctrl + O

3.批量寫代碼,改代碼


====================================================================================================================
【構造方法的作用】
【構造方法:即構造物件的方法,該方法出現在定義的類中,構造方法在被含參或無參呼叫時,給物件的實體變數賦值(給的引數值或默認值)】


【快速構造】

====================================================================================================
5、物件和參考:
5.1、物件和參考的概念?
* 物件:目前在使用new運算子在堆記憶體中開辟的記憶體空間稱為物件,
* 參考:是一個變數,不一定是區域變數,還可能是成員變數,參考保存了記憶體地址,指向了堆記憶體當中的物件,
* 所有訪問實體相關的資料,都需要通過“參考.”的方式訪問,因為只有通過參考才能找到物件,
* 只有一個空的參考,訪問物件的實體相關的資料會出現空指標例外,
class Student{
Computer com; //com是一個參考【實體變數】
public static void doSome(){
Computer cc; //cc是一個參考【區域變數】
}
}
5.2、引數的傳遞?
主要研究和學習的是方法在呼叫的時候,涉及到引數傳遞的問題,到底是怎么傳遞資料的呢?
值傳遞,
int i = 10;
int j = i; //i傳遞給j,實際上只是將i變數中保存的10傳遞給j了,j實際上是一塊全新的記憶體空間,例1
User u = 0x1234;
User u2 = u; //u傳遞給u2,實際上是將0x1234這個值賦值給u2了,u和u2實際上是兩個不同的區域變數,
//但是它們這兩個變數指向堆記憶體中同一個java物件,例2
【例1】

【記憶體分析】
【本例的引數傳遞只和堆疊有關】

【例2】

【注意到u.age++而不是u++,殊途同歸,一種途徑事先改變了地址指向記憶體空間的值,從另一個方法去讀取,結果一樣】
【本例的引數傳遞涉及到了堆記憶體的地址】

---------部分摘自B站動力節點教育集團
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/159818.html
標籤:Java
下一篇:一文搞懂AQS及其組件的核心原理
