額外補(bǔ)充內(nèi)容:
2016.11.26
Scanner類介紹
1.掃描控制臺(tái)輸入Scanner s = new Scanner(System.in); 2.可以從字符串(Readable)暇咆、輸入流锯七、文件等等來(lái)直接構(gòu)建Scanner對(duì)象,有了Scanner了,就可以逐段(根據(jù)正則分隔式)來(lái)掃描整個(gè)文本(scanner(file);scanner(string))
Scanner sc=new Scanner(new File("D:\demo\1.txt"));
String str=sc.nextLine();System.out.println(str);
或者Scanner sc=new Scanner(Paths.get("D:\demo\1.txt"));
3.其有的方法nextInt() 讀取下一行內(nèi)容试读;next() 讀取下一個(gè)單詞hasNext() 檢測(cè)是否含有下一個(gè)單詞;
2016.11.27
構(gòu)造器與方法的區(qū)別
(構(gòu)造器是一種特殊的方法蛛碌;用來(lái)構(gòu)造并初始化對(duì)象及實(shí)例)
構(gòu)造器的作用初始化:
(當(dāng)創(chuàng)建一個(gè)或多個(gè)顯式的構(gòu)造器時(shí)田轧,默認(rèn)的構(gòu)造器就不在了)
2016.11.27
四大訪問修飾符
java的四個(gè)關(guān)鍵字:public、protected竭缝、default房维、private(他們決定了緊跟其后被定義的東西可以被誰(shuí)使用) 適用范圍<訪問權(quán)限范圍越小,安全性越高>
訪問權(quán)限 類 包 子類 其他包
public ∨ ∨ ∨ ∨ (對(duì)任何人都是可用的)
protect ∨ ∨ ∨ × (繼承的類可以訪問以及和private一樣的限) default ∨ ∨ × × (包訪問權(quán)限抬纸,即在整個(gè)包內(nèi)均可被訪問) private ∨ × × ×(除類型創(chuàng)建者和類型的內(nèi)部方法之外的任何人都不能訪問的元素)
2016.11.27
枚舉
該類依次列舉出了該類所有對(duì)象的類型咙俩,不允許該類的變量賦值羅列出來(lái)的對(duì)象之外的值;
創(chuàng)建方法public enum Weeek{Monday,tuesday, ,, ,,,}Week a=Week.Monday;
enum關(guān)鍵字替換了class湿故,隱式繼承了Enum類阿趁,所以不允許再繼承其他類;
該類的構(gòu)造函數(shù)被定義為protected,只允許本類及類的子類訪問坛猪;
枚舉類的修飾符只能是public或者default;
構(gòu)造函數(shù)Enum(String name, int ordinal) 單獨(dú)的構(gòu)造方法脖阵。name是該枚舉對(duì)象的名字,ordinal是序號(hào)(從0 開始)
6.他的方法
a.name() a.ordinal();
2.16.11.27
內(nèi)部類
- 成員內(nèi)部類(編譯后也有.class)
在外部類的類中創(chuàng)建墅茉,相當(dāng)于一個(gè)外部類的成員命黔;
a:可以在外部類的其他成員中直接創(chuàng)建內(nèi)部類的對(duì)象,進(jìn)行訪問就斤;
b:如果成員內(nèi)部類的訪問權(quán)限不是private,則可以在其他的地方通過如下來(lái)訪問悍募;
Outer.Inner inner= Outer.new Inner(參數(shù)); 用得較少;
c:類名.this.(Inner對(duì)象)洋机;this為當(dāng)前坠宴; (注:在默認(rèn)的訪問權(quán)限下成員內(nèi)部類與其他的成員可以相互調(diào)用)
- 靜態(tài)內(nèi)部類
修飾符為static;相當(dāng)于外部類的靜態(tài)成員;
a:可以在外部類的其他成員中直接創(chuàng)建內(nèi)部類的對(duì)象绷旗,進(jìn)行訪問啄踊;
b:如果成員內(nèi)部類的訪問權(quán)限不是private,則可以在其他的地方通過如下來(lái)訪問;
Outer.Inner inner= new Outer.Inner(參數(shù)); 用得較少刁标;
c:與this無(wú)關(guān),是外部類的靜態(tài)成員址晕,只能訪問外部類的靜態(tài)成員膀懈;
此時(shí),外部類的成員方法可以訪問該靜態(tài)的方法谨垃;但是該內(nèi)部類的靜態(tài)的方法無(wú)法訪問外部類中的非靜態(tài)成員启搂;外成----->內(nèi)成硼控;內(nèi)成----->外靜;
3.局部?jī)?nèi)部類
(什么時(shí)候使用:當(dāng)看到函數(shù)的返回類型是接口胳赌,返回的是實(shí)現(xiàn)了該接口的類的對(duì)象牢撼,而且只需要在該函數(shù)中使用,那么可以在該類的函數(shù)中創(chuàng)建一個(gè)該類的內(nèi)部類疑苫,內(nèi)部類的返回值就是一個(gè)需要的對(duì)象熏版;或者當(dāng)看到函數(shù)的返回類型是抽象類,返回的是該抽象類的子類實(shí)例捍掺,只想在函數(shù)書中使用撼短,那么可以在該類的函數(shù)中一個(gè)內(nèi)部類,內(nèi)部類返回的就是該外部類需要的子類實(shí)例)
a.一般聲明在函數(shù)的內(nèi)部挺勿,只在該函數(shù)中有效曲横,會(huì)產(chǎn)生.class文件;
訪問: Outer.函數(shù)名.內(nèi)部類的方法();
4.匿名內(nèi)部類(局部?jī)?nèi)部類的特殊情況)
a.什么時(shí)候用不瓶? (同局部?jī)?nèi)部類)
已經(jīng)知道父類禾嫉,獲取其子類的實(shí)例對(duì)象;
已經(jīng)知道接口蚊丐,獲取實(shí)現(xiàn)了該接口的類的對(duì)象熙参;
匿名類在用的時(shí)候必須是直接獲取該匿名類的對(duì)象(無(wú)類名); b.怎么用吠撮?怎么樣獲取對(duì)象呢尊惰?
公式: return new 父類or接口()
{
子類的實(shí)現(xiàn) or 實(shí)現(xiàn)了該接口的類的實(shí)現(xiàn)
(實(shí)現(xiàn)就是實(shí)現(xiàn)父類或接口的方法)
}
(公式得到的就是實(shí)現(xiàn)后的對(duì)象,然后return整個(gè)泥兰,所以在前面加return)