201711671235學習《java程式設計》第四周學習總結
教材學習內容總結
1.類(有構造方法無析構方法)
a.類的特徵:封裝 繼承 多型
b.類的定義:class類名 -> 類的宣告,即物件
{類體的內容:變數的宣告,方法的定義} ->類體
程式設計風格:(a)類名用拉丁字母時首字母大寫(b)見名知意
c.成員變數
型別:基本型別,引用型別
有效範圍:整個類,與類體中先後位置無關
程式設計風格:(駝峰習慣)(a)變數名字除了符合標準符規定外,名字首單詞首字母大寫(b)見名知意
d.方法:型別 名稱(引數列表){方法體:可以操作成員變數、區域性變數}
成員變數 | 區域性變數 | 引數 |
整個類內有效 | 整個方法內有效 | 宣告位置之後有效(複合語句中在複合語句內有效) |
成員變數(有預設值)與區域性變數(無預設值)同名時,成員變數被隱藏(在該方法內失效),此時用this可以呼叫被隱藏的成員變數
e.構造方法與物件的建立(若干構造方法:引數個數,引數型別不同)
(a)名字與類名相同
(b)沒有構造方法時系統提供預設的構造方法
(c)構造方法沒有型別
(d)構造方法可以過載->引數個數/型別不同->多型的表現
f.建立物件
(a)物件的宣告:類名 物件名
(b)為宣告的物件分配變數:new
(c)建立為一個類的物件時分配記憶體空間
(d)一個類可以建立多個不同的物件
(f)類名 物件名=new 類名():分配成員變數空間->構造方法->算出引用
g.使用物件: .
(a)物件操作自己的變數:物件.變數
(b)物件呼叫類中的方法:物件.方法
h.引數傳值
方法中的引數屬於區域性變數,必須有具體的值
(a)基本資料型別引數:傳值引數(級別低)不改變->被傳值引數(級別高)先改變
(b)引用資料型別引數:傳值引數(引用)改變
一個類宣告的兩個物件有相同的引用,二者具有完全相同的變數
(c)可變引數:放回型別 類名(型別 .....x):x代表引數列表中的最後一個
i.例項成員與類成員
(a)有關鍵字static修飾叫類(靜態)變數,沒有叫例項變數
(b)不同物件有不同例項變數,所有物件共享類變數
(c)通過類名直接訪問類變數:類名/物件.類變數/類方法
例項方法(操作) | 類方法(操作) |
類變數,例項變數 | 類變數 |
(d)如果一個方法中不需操作類中的任何例項變數就定義static方法
j.方法過載
(a)引數個數不同/引數個數相同,但引數列表中對應的某個引數的型別不同
(b)方法放回型別和引數名不作比較
k.this關鍵詞
(a)this關鍵詞出現在類的構造方法中時,代表使用該構造方法所建立的物件
(b)this不能出現在類方法中
l.包
(a)包名的目的是有效的區分名字相同的類,不同Java原始檔中的兩個類名字相同
(b)import語句引入有包名的類
m.訪問許可權
(a)訪問限制符:private、protected、public
(b)在a類中用b類定義的物件
該物件不能訪問b類的??? | 同一個包 | 不同 |
private屬性和方法 | 不可以 | 不可以 |
public屬性和方法 | 可以 | 可以 |
friendly、protected屬性和方法 | 可以 | 不可以 |
(c)不能用protected和private修飾類
(d)訪問許可權從高到低:public、protected、friendly、private
n.基本型別的類封裝
(a)基本資料型別:boolean、byte、short、char、int、long、float、double,字串不屬於基本資料型別
(b)型別Value()方法返回該物件含有該型別的資料
o.物件陣列
陣列是相同型別變數按順序組成的集合
p.反編譯:javap.java eg:javap java.awt.Button
html格式文件:javadoc.exe eg:javadoc Example.java
教材學習中的問題和解決過程
1.類和物件和c++/c語言不同的地方 -> 檢視面向物件程式設計的課本與java對照
2.理解“一個類宣告的兩個物件如果具有相同的引用,二者就具有完全相同的變數” -> 畫分析圖
3.類變數/方法和例項變數/方法 之間的訪問許可權
程式碼學習中的問題和解決過程
包的用法不會(import....)
主要是演算法需要提高
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
目標 | 5000行 | 20篇 | 400小時 | 會用java語言獨立設計程式 |
第一週 | 13/13 | 1/1 | 5/5 | 學會使用jdk以及對java源程式語句的基本注意事項有所瞭解 |
第二週 | 140/143 | 1/2 | 10/15 | 學會java基本資料型別與陣列和c語言/c++在表達和用法上的相同/不同之處 |
第三週 | 276/419 | 1/3 | 20/35 | java中運算子,表示式和語句的表現形式,類的宣告,定義方法 |
第四周 | 600/1019 | 1/4 | 30/45 | 類和物件 |
參考文獻
《java2實用教程(第5版)》