Java學習筆記

2017.04.16
JAVA學習筆記
輸入設備異常附帽、類型轉換異常
try {
BufferedReader in = ...
String inputLine = in.readLine();
value = Integer.valueOf(inputLine).intValue();
} catch (Exception exc) {
// 出現(xiàn)異常的處理代碼
}

Static關鍵字注解 獨立于實例埠戳,即不能用this super來調用
實際上你需要搞明白,private是訪問權限限定蕉扮,static表示不要實例化就可以使用整胃,這樣就容易理解多了。
被static修飾的成員變量和成員方法獨立于該類的任何對象喳钟。也就是說屁使,它不依賴類特定的實例,被類的所有實例共享奔则。
http://www.cnblogs.com/beanmoon/archive/2012/04/25/2470298.html

Continue 回到判斷蛮寂,break 退出循環(huán)
Main函數中:string[] args 是函數的傳遞參數,用來接收參數
This對本類的形參和變量名重合時區(qū)分易茬,super引用父類方法 //非完整
訪問權限修飾詞:public 酬蹋;protected 繼承的類可訪問;private 只有本類可以訪問抽莱;默認 包訪問權限范抓;
標識符可以由字母、數字岸蜗、下劃線(_)尉咕、美元符($)組成叠蝇,但不能包含 @璃岳、%、空格等其它特殊字符悔捶,不能以數字開頭铃慷。譬如:123name 就是不合法滴;

優(yōu)秀攻城師的習慣:
1蜕该、變量名由多單詞組成時犁柜,第一個單詞的首字母小寫,其后單詞的首字母大寫堂淡,俗稱駱駝式命名法(也稱駝峰命名法)馋缅,如 myAge
2、變量命名時绢淀,盡量簡短且能清楚的表達變量的作用萤悴,做到見名知意。如:定義變量名 stuName 保存“學生姓名”信息
PS: Java 變量名的長度沒有限制皆的,但 Java 語言是區(qū)分大小寫的覆履,所以 price 和 Price 是兩個完全不同的變量哦!
final 關鍵字 常量名 = 值;

Arrays 類是 Java 中提供的一個工具類,在 java.util 包中硝全。該類中包含了一些方法用來直接操作數組栖雾,比如可直接實現(xiàn)數組的排序、搜索等:
Arrays.toString(數組名); Arrays.sort(數組名);

foreach 并不是 Java 中的關鍵字伟众,是 for 語句的特殊簡化版本析藕,在遍歷數組、集合時赂鲤, foreach 更簡單便捷噪径。從英文字面意思理解 foreach 也就是“ for 每一個”的意思,那么到底怎么使用 foreach 語句呢数初?
注意:foreach 不能賦值找爱;編譯器1.5以上才能用
面向對象:
成員變量:整個在類中 有一個初始值
局部變量:僅限于在定義的方法內部中;沒有初始值泡孩;在一個方法中一個
兩類變量重名時车摄,局部變量優(yōu)先
Java 中的 static 使用之靜態(tài)變量:它屬于整個類所有,而不是某個對象所有仑鸥,即被類的所有對象所共享吮播。靜態(tài)成員可以使用類名直接訪問,也可以使用對象名進行訪問眼俊。
Java 中的 static 使用之靜態(tài)方法:
1意狠、 靜態(tài)方法中可以直接調用同類中的靜態(tài)成員,但不能直接調用非靜態(tài)成員疮胖。如果希望在靜態(tài)方法中調用非靜態(tài)變量环戈,可以通過創(chuàng)建類的對象,然后通過對象來訪問非靜態(tài)變量澎灸。
2院塞、 在普通成員方法中,則可以直接訪問同類的非靜態(tài)變量和靜態(tài)變量性昭,
3拦止、 靜態(tài)方法中能直接調用靜態(tài)方法,不能直接調用非靜態(tài)方法糜颠,需要通過對象來訪問非靜態(tài)方法
Java 中的 static 使用之靜態(tài)初始化塊: 可創(chuàng)建多塊
執(zhí)行順序:靜態(tài)初始化塊(只一次)汹族、普通初始化塊、構造方法
靜態(tài)初始化塊只在類加載時執(zhí)行其兴,且只會執(zhí)行一次顶瞒,同時靜態(tài)初始化塊只能給靜態(tài)變量賦值,不能初始化普通的成員變量忌警。

面向對象三大特性:封裝搁拙、繼承秒梳、多態(tài)
封裝:1.只通過規(guī)定方法訪問;2.隱藏類的實例細節(jié)箕速,方便修改和實現(xiàn)酪碘;
設為Private – getter/setter方法:屬性讀寫用 – 加入屬性控制語句:判斷屬性合法性
包:管理Java文件;解決同名文件沖突
定義包:package 注:放在源程序第一行盐茎,用“.”
例如系統(tǒng)包:
java.(功能).(類)
java.lang.(類) 包含Java語言基礎的類
java.util.(類) 包含Java語言中各種工具類
java.io.(類) 包含輸入兴垦,輸出相關功能的類
包的使用:
1.可以通過使用import關鍵字,在某個文件使用其他文件中的類字柠。
2.Java中探越,包的命名規(guī)范是全小寫字母拼寫
3.使用的時候可以加載某個包下的所有文件 eg:com.imooc.*
也可以加載某個具體子包下的所有文件

Java的訪問修飾符:
本類 同包 子類 其他
private 1
默認 1 1
protected 1 1 1
public 1 1 1 1
This關鍵詞:this關鍵字其實相當于幫你創(chuàng)建當下類的一個具體對象,你不用this的話就得自己實例化一下窑业。這樣說比較明白吧钦幔。
this是類內部對對象本身的一個引用
1、它方便類中方法訪問自己的屬性常柄,set方法中鲤氢,如果傳入同名的形參,沒有this無法賦值西潘,java是就近原則
2卷玉、只能通過this(),實現(xiàn)在構造器中調運另外一個構造器,不用this沒法調運喷市。
3相种、this作為方法的返回值,可以實現(xiàn)java中鏈式寫法品姓。 寝并?

內部類:
1)成員內部類:
內部類可以任意的訪問外部類里面的成員,不論外部成員的訪問權限是什么缭黔。
定義內部類之后 食茎,必須需要用外部類來創(chuàng)建內部類對象蒂破。
當外部類和內部類同時出現(xiàn)相同的成員變量名是馏谨,如果要訪問外部成員變量需要this關鍵字
2)靜態(tài)內部類: 直接創(chuàng)建 內部類 對象名= new 內部類();
但可通過new 外部類().成員 訪問外部類非靜態(tài)成員附迷;如果外部類的靜態(tài)成員與內部類的成員名稱相同惧互,可通過“類名.靜態(tài)成員”訪問外部類的靜態(tài)成員;
3)方法內部類:內部類定義在外部類的方法中喇伯,只在外部類該方法中使用喊儡;方法內部類不能使用訪問控制符和 static 修飾符。

繼承 class 子類 extends 父類 先父類后子類
方法的重寫 返回類型稻据、方法名艾猜、參數與父類一致
final關鍵字:
1) 類,不被繼承;2)方法匆赃,不被覆蓋(重寫)淤毛;3)屬性,類初始化必須有值或者構造方法賦值(二選一)算柳;4)變量低淡,只能賦值一次,常量
Super關鍵字:在對象內部使用瞬项,可以代表父類對象蔗蹋。 訪問父類屬性、方法
子類構造方法必須調用構造父類方法(隱式 super調用父類方法囱淋,顯式必須放在第一行)
Object所有的父類 哈希code判讀對象
1) toString方法 輸出屬性值猪杭;默認輸出對象地址
2) equals 方法 兩個對象的引用是否相同內存地址;dog.equals(dog2)
類對象 obj.getClass() 類的代碼信息 VS 類的對象

多態(tài):
1.引用多態(tài)
1) 父類引用指向本類妥衣;
2) 父類引用指向子類胁孙; Animal dog = new Dog();
2.方法多態(tài)
引用類型轉換 向上轉換;向下轉換(有風險称鳞,溢出)強制類型轉換 Dog dog2 = (Dog)animal
用instanceof判斷是否進行類型 if(animal instacnof cat)

抽象類 abstract:約束子類必須實現(xiàn)某些方法涮较,但不關注細節(jié)
抽象方法沒有方法體{}分號結束;

接口:修飾符 interface 接口名 [extends 父接口1冈止,2狂票。。熙暴。] 不能protected private
接口屬性是常量闺属,接口方法為抽象方法,不能有方法體
子類繼承父類實現(xiàn)接口的語法:修飾符 class 類名 父類 implements 接口1周霉,接口2…
1)接口引用:IPlayGame ip1 = new SmartPhone(); 引用實現(xiàn)了接口的對象
2)或者 使用匿名內部類 IPlayGmae ip2 = new IPlayGmae(){ 匿名內部類};
3)或者直接NEW一個然后.方法:new interface(){}.方法


設計過程 //入門要求即會看
UML :unified modeling language 統(tǒng)一建模語言或者標準建模語言
支持模型化和軟件系統(tǒng)開發(fā)圖形語言
常用UML :
1) 用例圖 use case diagram 可視化
2) 序列圖 sequence diagram 交互關系及順序
3) 類圖 class diagram 類屬性方法等掂器,業(yè)務邏輯 //可以直接創(chuàng)建class
建模工具 visio、rational rose俱箱、powerdesigner

項目分析: (以答答租車為例)
1国瓮、 數據模型分析 操作(方法)、屬性
車的類型狞谱,載客量/載貨量
2乃摹、 業(yè)務模型分析 在設計程序之前,明確該程序必須執(zhí)行哪些任務
例:選車跟衅,租車天數孵睬、統(tǒng)計金額、載客伶跷、貨量

3掰读、 顯示和流程分析 用戶看到的各種界面秘狞,顯示流程是步驟
例:選擇車輛-> 輸入序號-> 輸出總金額

選車:1、2蹈集、3谒撼、4、5

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雾狈,一起剝皮案震驚了整個濱河市廓潜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌善榛,老刑警劉巖辩蛋,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異移盆,居然都是意外死亡悼院,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門咒循,熙熙樓的掌柜王于貴愁眉苦臉地迎上來据途,“玉大人,你說我怎么就攤上這事叙甸∮币剑” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵裆蒸,是天一觀的道長熔萧。 經常有香客問我,道長僚祷,這世上最難降的妖魔是什么佛致? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮辙谜,結果婚禮上俺榆,老公的妹妹穿的比我還像新娘。我一直安慰自己装哆,他們只是感情好罐脊,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烂琴,像睡著了一般爹殊。 火紅的嫁衣襯著肌膚如雪蜕乡。 梳的紋絲不亂的頭發(fā)上奸绷,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機與錄音层玲,去河邊找鬼号醉。 笑死反症,一個胖子當著我的面吹牛,可吹牛的內容都是我干的畔派。 我是一名探鬼主播铅碍,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼线椰!你這毒婦竟也來了胞谈?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤憨愉,失蹤者是張志新(化名)和其女友劉穎烦绳,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體配紫,經...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡径密,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躺孝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片享扔。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖植袍,靈堂內的尸體忽然破棺而出惧眠,到底是詐尸還是另有隱情,我是刑警寧澤于个,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布锉试,位于F島的核電站,受9級特大地震影響览濒,放射性物質發(fā)生泄漏呆盖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一贷笛、第九天 我趴在偏房一處隱蔽的房頂上張望应又。 院中可真熱鬧,春花似錦乏苦、人聲如沸株扛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洞就。三九已至,卻和暖如春掀淘,著一層夾襖步出監(jiān)牢的瞬間旬蟋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工革娄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留倾贰,地道東北人冕碟。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像匆浙,于是被迫代替她去往敵國和親安寺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內容