1 一個Java源程序是由若干個類組成青瀑。
2 class 是Java的關(guān)鍵字璧亮,用來定義類。
3 Java應(yīng)用程序中有多個類時斥难,java命令后的類名必須是包含了 main 方法的那個類的名字枝嘶。
4 一個Java應(yīng)用程序必須且只有一個類含有 main 方法。
5 在一個Java應(yīng)用程序中main方法必須被說明為 public static void 哑诊。
6 Java中所有程序都使用方法群扶,應(yīng)用程序以 main 方法開始。
7 Java源文件中有多個類镀裤,但只能有一個類是 public的類穷当。
8 Java源程序編譯后生成的字節(jié)碼文件擴(kuò)展名為 class 。
9 用來標(biāo)識類名淹禾、變量名馁菜、方法名、類型名铃岔、數(shù)組名汪疮、文件名的有效字符序列稱為標(biāo)識符 峭火。
10 Java語言規(guī)定標(biāo)識符由字母、下劃線智嚷、美元符號和數(shù)字組成卖丸,并且第一個字符不能是數(shù)字 。
11 關(guān)鍵字 就是Java語言中已經(jīng)被賦予特定意義的一些單詞盏道,不可以把這類詞作為名字來用稍浆。
12 使用關(guān)鍵字 boolean 來定義邏輯變量。
13 結(jié)構(gòu)化程序設(shè)計的基本數(shù)據(jù)類型包括邏輯類型 猜嘱、整數(shù)類型衅枫、字符類型、浮點(diǎn)類型(小數(shù)類型)朗伶。
14 Java中byte型數(shù)組在內(nèi)存中的存儲形式是補(bǔ)碼 弦撩。
15 java中,整數(shù)型變量的類型有byte,short,int和long四種.论皆。
16 對于byte型變量益楼,內(nèi)存分配 1 個字節(jié)。
17 對于short型變量点晴,內(nèi)存分配 2 個字節(jié)感凤。
18 對于int型變量,內(nèi)存分配 4 個字節(jié)粒督。
19 對于long型變量陪竿,內(nèi)存分配 8 個字節(jié)。
20 java中坠陈,當(dāng)數(shù)據(jù)類型為整數(shù)類型時,默認(rèn)的類型為int類型捐康。
21 整數(shù)類型數(shù)據(jù)在內(nèi)存中以二進(jìn)制的方式表示仇矾。
22 使用關(guān)鍵字 char 來定義字符變量。
23? Java中的char占兩個字節(jié)解总。
24 Java中贮匕,浮點(diǎn)型(小數(shù)型)變量的類型有float和 double 兩種。
25 對于float型變量花枫,內(nèi)存分配 4 個字節(jié)刻盐。
26 對于double型變量,內(nèi)存分配 8 個字節(jié)劳翰。
27 Java中敦锌,當(dāng)數(shù)據(jù)類型為小數(shù)類型時,默認(rèn)的類型為double類型佳簸。
28 Java使用 Unicode 字符集乙墙。
29 Java中邏輯運(yùn)算符的操作元必須是 boolean 型數(shù)據(jù)。
30 Java中關(guān)系運(yùn)算符的運(yùn)算結(jié)果是 boolean 型。
31 當(dāng)把級別高的變量的值賦予級別低的變量時听想,必須使用強(qiáng)制類型轉(zhuǎn)換腥刹,不然都是使用默認(rèn)的。
32 混合運(yùn)算中不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型汉买,然后運(yùn)算衔峰,其中不包括字符類型 、邏輯類型蛙粘。
33 Java語言的控制語句有3種類型垫卤,即條件語句(分支語句)、循環(huán)語句 组题、和轉(zhuǎn)移(跳轉(zhuǎn))語句
34 Java控制語句中的條件語句包括if語句和switch語句兩種葫男。
35 Java控制語句中的循環(huán)語句包括(for,while崔列,do...while)三種梢褐。
36 Java控制語句中的轉(zhuǎn)移語句包括(break,continue赵讯,return)三種盈咳。
37 在同一個switch語句中,case后的常量值必須互不相同边翼。
38 do-while循環(huán)和while循環(huán)的區(qū)別是 :do-while循環(huán)體至少被執(zhí)行一次 鱼响。
39 在循環(huán)體中,如果想結(jié)束本次循環(huán)可以用 continue 語句组底。
40 在循環(huán)體中丈积,如果想跳出循環(huán),結(jié)束整個循環(huán)可以用 break 語句债鸡。
41 Java中的語句可分為方法調(diào)用語句江滨、表達(dá)式語句、復(fù)合語句厌均、控制語句 和package語句和import語句唬滑。
42 面向?qū)ο缶幊绦蛑饕蟹庋b性 、繼承性棺弊、多態(tài)性的特點(diǎn)晶密。
43 類是組成Java程序的基本要素,封裝了一類對象的狀態(tài)和方法模她。
44 類的實現(xiàn)包括兩部分:類聲明和類體 稻艰。
45 類體有兩部分構(gòu)成:一部分是變量的定義,另一部分是方法的定義侈净。
46 在類體中连锯,變量定義部分所定義的變量為類的成員變量 归苍。
47 成員變量在整個類內(nèi)都有效,局部變量只在定義它的方法內(nèi)有效运怖。
48 Java中成員變量又分為實例成員變量和類成員變量 拼弃。
49 寫類的目的是為了描述一類事物共有的屬性和功能。
50 成員變量和局部變量的類型可以是Java中的任何一種數(shù)據(jù)類型 摇展。
51 用修飾符 static說明的成員變量是類變量吻氧。
52 變量的名字與成員變量的名字相同,則成員變量被隱藏 ,該成員變量在這個方法內(nèi)暫時失效咏连。
53 如果局部變量的名字與成員變量的名字相同盯孙,成員變量將被隱藏。
54 方法定義包括兩部分:方法聲明和方法體祟滴。
55 在Java中振惰,當(dāng)一個方法不需要返回數(shù)據(jù)時返回類型必須是 void 。
56 方法重載是指垄懂,一個類中可以有多個方法具有相同的名字和類型骑晶,但這些方法的參數(shù)必須不同。
57 在Java程序語言中草慧,它允許在一個class中有幾個方法桶蛔,都有相同的名字,這種用法稱為方法重載 漫谷。
58 構(gòu)造方法是一種特殊方法仔雷,它的名字必須與它所在的類的名字完全相同,并不返回任何數(shù)據(jù)類型舔示。
59 Java中類的方法分為實例方法和類方法 碟婆。
60 因為類體的內(nèi)容由成員變量的定義和成員方法的定義兩部分組成,對成員變量的操作只能放在成員方法中惕稻。
61 java中構(gòu)造方法與類名相同竖共,沒有返回值,在創(chuàng)建對象實例時由new運(yùn)算符自動調(diào)用缩宜。
62 在類方法中只能調(diào)用類變量和類方法肘迎,不能調(diào)用實例方法甥温。
63 實例方法既能對類變量操作也能對實例變量操作锻煌,而類方法只能對類變量進(jìn)行操作。
64 Java中類是創(chuàng)建對象的模板姻蚓,對象是滿足這個類條件下的一個實例宋梧。
65 當(dāng)使用一個類創(chuàng)建了一個對象時,我們也說給出了這個類的實例狰挡。
66 所有的對象都是由兩部分組成的(靜態(tài)的屬性和動態(tài)的屬性)捂龄。
67 靜態(tài)的屬性通過變量來表示释涛,動態(tài)的屬性通過函數(shù)來表示
68 Java中用類創(chuàng)建一個對象包括對象的聲明和為對象分配內(nèi)存兩個步驟。
69 對象聲明的一般格式為類名和對象名 倦沧。
70 一個類通過使用 new 運(yùn)算符可以創(chuàng)建多個不同對象唇撬,這些對象將分配不同的內(nèi)存空間。
71 一個類通過使用new運(yùn)算符和類的構(gòu)造方法 為聲明的對象分配內(nèi)存展融。
72 對象創(chuàng)建完后窖认,通過使用運(yùn)算符“.”,對象可以實現(xiàn)對變量的訪問和方法的調(diào)用。
73 Java中不同對象的實例變量將被分配不同的內(nèi)存空間告希。
74 Java中如果類中的成員變量有類變量扑浸,那所有的對象的給這樣的變量分配給相同的一處內(nèi)存。
75 類方法和實例方法的區(qū)別在于燕偶,類方法不但可以由對象調(diào)用還可以直接由類名調(diào)用喝噪,而實例方法卻不可以。
76 類體中的方法分為:實例方法和類方法指么。
77 package 語句作為java源文件的第一條語句指明該源文件定義的類所在的包酝惧。
78 在java程序中,系統(tǒng)會自動引入java.lang這個包涧尿,因此不需要再使用 import 語句引入該包系奉。
79 在Java程序中,為了使程序能夠使用自定義的包姑廉,必須在 classpath 環(huán)境變量中指明自定義包的位置缺亮。
80 Java.lang 包是java語言的核心類庫,它包含了運(yùn)行java程序必不可少的系統(tǒng)類桥言。
81 為了能使用Java提供的類萌踱,我們可以使用語句 import 來引入所需的類。
82 Java中用 private 修飾的成員變量和方法稱為私有變量和私有方法号阿。
83 Java中不用修飾的成員變量稱為友好變量并鸵。
84 訪問權(quán)限是私有變量,只能在本類中使用扔涧,不能在類外使用园担。
85 Java中用 public 修飾的成員變量和方法稱為共有變量和共有方法。
86 當(dāng)訪問權(quán)限是共有變量時枯夜,不但在本類中使用弯汰,還可以在任何另外一個類中使用。
87 當(dāng)訪問權(quán)限是友好變量時湖雹,只能在本類和與本類同一個包中的其他類使用咏闪。
89 繼承是一種由已有的類創(chuàng)建新類的機(jī)制。
90 Java中由繼承而得到的類稱為子類 ,被繼承的類稱為父類摔吏。
91 Java中不支持多重繼承鸽嫂。
92 在類的聲明中纵装,通過使用關(guān)鍵字 extends 來創(chuàng)建一個類的子類。
93 Java中一個類可以有 1 個父類据某。
94 如果一個類的聲明中沒有使用extends關(guān)鍵字橡娄,這個類被系統(tǒng)默認(rèn)為是 Object 類的子類。
95 子類自然地繼承了其父類中不是 private 的成員變量作為自己的成員變量癣籽。
96 當(dāng)子類中定義的成員變量和父類中的成員變量同名時瀑踢,子類的成員變量隱藏 了父類的成員變量。
97 子類通過成員變量的隱藏和方法的重寫才避,可以把父類的狀態(tài)和行為改變?yōu)樽陨淼臓顟B(tài)和行為橱夭。
98 對于重寫或繼承的方法,Java運(yùn)行時系統(tǒng)根據(jù)調(diào)用方法的實例的類型來選擇調(diào)用哪個方法桑逝。
99 對于子類創(chuàng)建的一個對象棘劣,如果子類重寫了父類的方法,則運(yùn)行時系統(tǒng)調(diào)用子類 的方法楞遏。
100 對于子類創(chuàng)建的一個對象茬暇,如果子類繼承了父類的方法,未重寫寡喝,則運(yùn)行時調(diào)用父類的方法糙俗。
101 在Java語言中多態(tài)性體現(xiàn)在由方法重載實現(xiàn)的靜態(tài)多態(tài)性和方法重寫,實現(xiàn)的動態(tài)多態(tài)性预鬓。
102 final 類不能被繼承巧骚,即不能有子類。
103 abstract 類不能創(chuàng)建對象格二,必須產(chǎn)生其子類劈彪,由子類創(chuàng)建對象。
104 如果一個方法被修飾為 final 方法顶猜,則這個方法不能被重寫沧奴。
105 對于 abstract 方法,只允許聲明长窄,而不允許實現(xiàn)滔吠。
106 如果一個類是一個abstract類的子類,它必須具體實現(xiàn)父類 的abstract方法挠日。
107 局部變量的名字與成員變量的名字相同疮绷,若想在該方法內(nèi)使用成員變量,必須使用關(guān)鍵字 this 肆资。
108 在關(guān)鍵字中能代表當(dāng)前類或?qū)ο蟊旧淼氖?this 矗愧。
109 如果在子類中想使用被子類隱藏的父類的成員變量或方法可以使用關(guān)鍵字 super 灶芝。
110 子類如果想用父類的構(gòu)造方法郑原,必須在子類的構(gòu)造方法中使用唉韭,并且必須使用關(guān)鍵字 super 來表示。
111 Java中為了克服單繼承的缺點(diǎn)犯犁,使用了接口属愤,一個類可以實現(xiàn)多個接口。
112 接口酸役,就是方法定義和常量值的集合住诸。
113 使用關(guān)鍵字 interface 來定義接口。
114 接口的定義包括接口的聲明和接口體 涣澡。
115 定義接口時贱呐,接口體中只進(jìn)行方法的聲明,不允許提供方法的實現(xiàn) 入桂。
116 一個類通過使用關(guān)鍵字 implements 聲明自己實現(xiàn)一個或多個接口奄薇。
117 如果一個類實現(xiàn)了某個接口,那么這個類必須實現(xiàn)該接口的所有方法 抗愁。
118 接口中的方法被默認(rèn)的訪問權(quán)限是 public 馁蒂。
119 如果接口中的方法的返回類型不是void的,那么在類中實現(xiàn)該接口的方法時蜘腌,方法體至少要有一個 return 語句沫屡。
120 內(nèi)部類,指那些類定義代碼被置于其他類定義中的類撮珠。
121 泛型 是Java SE5.0的新特性沮脖。
122 創(chuàng)建對象常用的方法就是使用 new 運(yùn)算符和類的構(gòu)造方法。
123 把Java應(yīng)用程序中涉及到的類壓縮成一個 jar 文件芯急。
124 數(shù)組倘潜,是相同類型的數(shù)據(jù)按順序組成的一種引用數(shù)據(jù)類型。
125 Java中定義數(shù)組后通過數(shù)組名志于,加數(shù)組下標(biāo)涮因,來使用數(shù)組中的數(shù)據(jù)。
126 Java中聲明數(shù)組包括數(shù)組的名字伺绽、數(shù)組包含的元素的數(shù)據(jù)類型 养泡。
127 聲明數(shù)組 僅僅是給出了數(shù)組名字和元素的數(shù)據(jù)類型,要想真正的使用數(shù)組還必須為它分配內(nèi)存空間奈应。
128 一維數(shù)組通過下標(biāo)符訪問自己的元素澜掩,需要注意的是下標(biāo)從 0 開始。
129 創(chuàng)建數(shù)組后杖挣,系統(tǒng)會給每一個數(shù)組元素一個默認(rèn)的值肩榕,如float型是 0 。
130 聲明數(shù)組僅僅是給出了數(shù)組名字和元素的數(shù)據(jù)類型惩妇,要想真正地使用數(shù)組還必須為它分配內(nèi)存空間 株汉。
131 數(shù)組聲明后筐乳,必須使用 new 運(yùn)算符分配內(nèi)存空間。
132 Java中使用java.lang包中的 String 類來創(chuàng)建一個字符串變量乔妈,因此字符串變量是類類型變量蝙云,是一個對象。
133 創(chuàng)建一個字符串時路召,使用String類的構(gòu)造方法 勃刨。
134 String 類是不可變類,對象所包含的字符串內(nèi)容永遠(yuǎn)不會被改變股淡。
135 StringBuffer 類是可變類身隐,對象所包含的字符串內(nèi)容可以被添加或修改。
136 使用String類的 length() 方法可以獲取一個字符串的長度唯灵。
137 可以使用String類的 startsWith(String s) 方法判斷一個字符串的前綴是否是字符串s抡医。
138 可以使用String類的 equals(String s) 方法比較一字符串是否與字符串s相同。
139 字符串調(diào)用 indexOf(String s) 方法從當(dāng)前字符串的頭開始檢索字符串s早敬,并返回首次出現(xiàn)s 的位置忌傻。
140 字符串調(diào)用indexOf方法檢索字符串s,并返回首次出現(xiàn)s 的位置搞监。如果沒有檢索到字符串s水孩,該方法返回的值是 -1 。
141 一個字符串s 通過調(diào)用方法 trim() 得到一個字符串對象琐驴,該字符串對象是s 去掉前后空格后的字符串俘种。
142 java.lang 包中的Integer 類調(diào)用其類方法:
parseInt 可以將“數(shù)字”格式的字符串,如“12387”绝淡,轉(zhuǎn)化為int 型數(shù)據(jù)宙刘。
143 可以使用java.lang包中的 Integer 類將形如“12387”的字符串轉(zhuǎn)化為int型數(shù)據(jù)。
144 可以使用java.lang包中的 Long 類將字符串轉(zhuǎn)化為long型數(shù)據(jù)牢酵。
145 可以使用String類直接調(diào)用 valueOf 方法將數(shù)值轉(zhuǎn)化為字符串悬包。
146 StringBuffer類調(diào)用方法, toString() 返回緩沖區(qū)內(nèi)的字符串馍乙。
147 Object類有一個public方法是 toString 布近,一個對象通過調(diào)用該方法可以獲得該對象的字符串表示。
148 Object 類是所有Java 類的最終祖先丝格,如果一個類在聲明時沒有包含extends 關(guān)鍵詞撑瞧,那么這個類直接繼承Object類。
149 對于一個已經(jīng)不被任何引用變量引用的對象显蝌,當(dāng)垃圾回收器準(zhǔn)備回收該對象所占用的內(nèi)存時预伺,將自動調(diào)用該對象的 finalize() 方法。
150 每個Java 基本類型在java.lang 包中都有一個相應(yīng)的包裝 類,把基本類型數(shù)據(jù)轉(zhuǎn)換為對象酬诀。
151 在Java 集合中不能存放基本類型數(shù)據(jù)脏嚷,如果要存放數(shù)字,應(yīng)該使用包裝類型 料滥。
152 Character 類和Boolean 類直接繼承Object 類,除此以外艾船,其他包裝類都是 java.Number 的直接子類葵腹。
153 包裝類都覆蓋了Object 類的 toString() 方法,以字符串的形式返回包裝對象所表示的基本類型數(shù)據(jù)屿岂。
154 所有的包裝類都是final 類型践宴,因此不能創(chuàng)建它們的子類 。
155 Math 類提供了許多用于數(shù)學(xué)運(yùn)算的靜態(tài)方法爷怀。
156 Math 類是 final 類型的阻肩,因此不能有子類。
157 Random 類提供了一系列用于生成隨機(jī)數(shù)的方法运授。
158 Date 類以毫秒數(shù)來表示特定的日期烤惊。
159 java.text.DateFormat 抽象類用于定制日期的格式, 它有一個具體子類為 SimpleDateFormat 吁朦。
160 BigDecimal 類能夠進(jìn)行浮點(diǎn)數(shù)的精確加法柒室、減法和乘法運(yùn)算,對于浮點(diǎn)數(shù)的除法運(yùn)算逗宜,可以滿足用戶指定的精度雄右。
161 異常處理 方法是一種非常有用的輔助性程序設(shè)計方法。采用這種方法可以使得在程序設(shè)計時將程序的正常流程與錯誤處理分開纺讲,有利于代碼的編寫和維護(hù)擂仍。
162 按異常在編譯時是否被檢測來分,異嘲旧酰可以分為兩大類:受檢異常與非受檢異常 逢渔。
163 程序可以處理的異常對應(yīng)的類是 Exception 及其子類。
164 拋出異诚缋ǎ可以利用 throw 語句复局。
165 處理異常的方式有兩種:捕捉異常 方式與轉(zhuǎn)移異常方式。
166 捕捉異常方式是通過 try-catch-finally 結(jié)構(gòu)處理異常粟判。
167 在try-catch-finally 結(jié)構(gòu)中亿昏, finally 語句塊一般總是會被執(zhí)行,不管有沒有異常產(chǎn)生档礁。
168 異常處理流程中角钩,其中 try 代碼塊包含了可能發(fā)生異常的程序代碼。
169 異常處理流程中,其中 catch 代碼快緊跟在try 代碼塊后面递礼,用來捕獲并處理異常惨险。
170 異常處理流程中,其中 finally 代碼塊用于釋放被占用的相關(guān)資源脊髓。
171 對于程序中可能出現(xiàn)的受檢查異常辫愉,要么用try…catch 語句捕獲并處理它,要么用 throw 語句拋出它将硝,Java 編譯器會對此做檢查恭朗。
172 File 對象調(diào)用方法 mkdir() 創(chuàng)建一個目錄。
173 文件輸入流(輸入流的子類)提供對文件的存取依疼。為了讀取文件痰腮,使用文件輸入流構(gòu)造方法來打開 一個到達(dá)該文件的輸入流。
174 輸入流試圖要打開的文件可能不存在律罢,就出現(xiàn)I/O 錯誤膀值,Java 生成一個出錯信號,它使用一個 IOException 對象來表示這個出錯信號误辑。
175 read 方法給程序提供一個從輸入流中讀取數(shù)據(jù)的基本方法沧踏。
176 read 方法從輸入流中順序讀取源中的單個字節(jié)數(shù)據(jù),該方法返回字節(jié)值(0~255 之間的一個整數(shù))巾钉,如果到達(dá)源的末尾悦冀,該方法返回 -1 。
177 雖然Java 在程序結(jié)束時自動關(guān)閉所有打開的流睛琳,但是當(dāng)我們使用完流后盒蟆,顯式地關(guān)閉 任何打開的流仍是一個良好的習(xí)慣。
178 在操作系統(tǒng)把程序所寫到輸出流上的那些字節(jié)保存到磁盤上之前师骗,內(nèi)容有時被存放在內(nèi)存緩沖區(qū)中历等,通過調(diào)用 close() 方法,可以保證操作系統(tǒng)把流緩沖區(qū)的內(nèi)容寫到它的目的地辟癌。
179 java.lang 包中的System 類有兩個重要的類成員:in 和 out 寒屯,分別是輸入流和輸出流類型的對象。
180 FileInputStream 使用字節(jié) 讀取文件黍少,不能直接操作Unicde 字符寡夹。
181 RandomAccessFile 類中用 seek 方法,來定位RandomAccessFile 流的讀寫位置厂置。
182 Java的抽象窗口工具包中包含了許多類來支持 GUI 設(shè)計菩掏。
183 JButton類、JLabel類是包javax.swing中的類昵济,并且是javax.swing包中的 JComponent 的子類智绸。
184 Java把有JComponent類的子類或間接子類創(chuàng)建的對象稱為一個swing組件 野揪。
185 javax.swing包的類 JPanel 是用來建立面板的。
186 javax.swing包中的 JScrollPane 類也是JContainer類的子類瞧栗,該類創(chuàng)建的對象也是一個容器斯稳,稱為滾動窗口。
187 javax.swing包中的 JFrame 類或子類所創(chuàng)建的一個對象就是一個窗口迹恐。
188 Java程序中可以向容器添加組件挣惰,一個容器可以使用 add() 方法將組件添加到該容器中。
189 在組件類的一些常用方法中 setBackground 方法是設(shè)置組件的背景顏色殴边。
190 在組件類的一些常用方法中 setForeground 方法是設(shè)置組件的前景顏色憎茂。
191 Java中JFrame類的 setTitle 方法是用來設(shè)置窗口的名字。
192 JFrame類創(chuàng)建的對象是一個窗口容器找都,它默認(rèn)布局是 BorderLayout 布局唇辨。
193 JPanel 的默認(rèn)布局管理器是 FlowLayout 廊酣。
194 Java的java.awt包中定義了5種布局類能耻,分別是FlowLayout、BorderLayout亡驰、CardLayout晓猛、 GridLayout 和GridBagLayout。
195 Java的java.awt包中定義了5種布局類凡辱,分別是FlowLayout戒职、BorderLayout、 CardLayout 透乾、GridLayout和GridBagLayout洪燥。
196 FlowLayout 對應(yīng)的布局是容器將其中的組件按照加入的先后順序從左向右排列。
197 BorderLayout 對應(yīng)的布局是把容器內(nèi)的空間簡單地劃分為東乳乌、西捧韵、南、北汉操、中5個區(qū)域再来,每加入一個組件都應(yīng)該指明把這個組件加在哪個區(qū)域中。
198 GridLayout 是使用較多的布局編輯器磷瘤,其基本布局策略是把容器劃分成若干行乘若干列的網(wǎng)格區(qū)域芒篷,組件就位于這些劃分出來的小格中。
199 FlowLayout采缚、GridLayout针炉、BordrLayout布局對象都可以使用方法setVgap(intvgap)設(shè)置當(dāng)前布局中組件的垂直間距 。
200 FlowLayout扳抽、GridLayout糊识、BordrLayout布局對象都可以使用方法setHgap(inthgap)設(shè)置當(dāng)前布局中組件的水平間距 绩社。
201 使用 CardLayout 布局的容器可以容納多個組件忱屑,但實際上同一時刻容器只能從這些組件中選出一個來顯示函卒。
202 Java中能夠產(chǎn)生事件的對象都可以成為事件源 ,如文本框翅楼、按鈕澳迫、鍵盤等茫蛹。
203 Java中事件源發(fā)生事件時逻锐,監(jiān)視器 就自動調(diào)用執(zhí)行被類實現(xiàn)的某個接口方法岸夯。
204 當(dāng)用戶與GUI 交互授艰,比如移動鼠標(biāo)败砂、按下鼠標(biāo)鍵赌渣、單擊Button 按鈕、在文本框內(nèi)輸入文本昌犹、選擇菜單項或者關(guān)閉窗口時坚芜,GUI 會接受到相應(yīng)的事件 。
205 Java中斜姥,監(jiān)聽器 負(fù)責(zé)接收和處理這種事件鸿竖。
206 Java中為了能監(jiān)視到ActionEvent類型的事件,事件源必須使用 addActionListener() 方法獲得監(jiān)視器铸敏。
207 只要用戶單擊JButton缚忧,就會觸發(fā)一個ActionEvent 事件,該事件被監(jiān)聽器接收杈笔,它的方法 actionPerformed() 被執(zhí)行闪水。
208 在監(jiān)聽類的事件處理方法中通過事件類的 getSource() 方法來獲得事件源。
209 Java的 java.awt.event 包中包含了許多用來處理事件的類和接口蒙具。
210 鼠標(biāo)事件類MouseEvent中的方法getSource()是獲取發(fā)生鼠標(biāo)事件的事件源 球榆。
211 使用MouseListener接口處理鼠標(biāo)事件,事件源發(fā)生的鼠標(biāo)事件有5種禁筏,按下鼠標(biāo)鍵持钉、釋放 鼠標(biāo)鍵、點(diǎn)擊鼠標(biāo)鍵融师、鼠標(biāo)進(jìn)入和鼠標(biāo)退出右钾。
212 鼠標(biāo)事件的類型是 MouseEvent ,即當(dāng)發(fā)生鼠標(biāo)事件時旱爆,該類自動創(chuàng)建一個事件對象舀射。
213 使用MouseListener接口處理鼠標(biāo)事件,鼠標(biāo)事件源發(fā)生的鼠標(biāo)事件包括怀伦,按下鼠標(biāo)鍵脆烟、釋放鼠標(biāo)鍵、單擊 鼠標(biāo)鍵房待、鼠標(biāo)進(jìn)入和鼠標(biāo)退出邢羔。
214 MouseMotionListener 和MouseListener 都監(jiān)聽 MouseEvent 事件驼抹。
215 javax.swing包中的 JButton 類專門用來建立按鈕,即它的實例對象就是一個按鈕拜鹤。
216 在JButton類中框冀, getText() 方法是用來獲取按鈕上的名字。
217 在javax.swing中 JLabel 類使用來創(chuàng)建標(biāo)簽的敏簿,即它的一個實例就是一個標(biāo)簽明也。
218 在javax.swing包中的 JTextField 類是專門用來建立文本框,它的一個對象就是一個文本框惯裕。
219 Java中文本框類的 setText(String s) 方法是在文本框中設(shè)置文本温数。
220 Java中文本框類的 getText() 方法是獲取文本框中的文本。
221 Java中標(biāo)簽類的 setText(String s) 方法是設(shè)置標(biāo)簽的名字蜻势。
222 Java中標(biāo)簽類的 getText() 方法是獲取標(biāo)簽的名字撑刺。
223 Java中 JTextArea 類是專門用來建立文本區(qū)的,即它的一個對象就是一個文本區(qū)握玛。
224 javax.swing包中的 JCheckBox 類是專門用來建立選擇框的够傍。
225 在JCheckBox類中, isSelected 方法是用來返回選擇框的布爾狀態(tài)败许。
226 javax.swing包中的類 JList 類是專門用來建立列表框王带。
227 對話框與一般窗口的區(qū)別在于它必須依賴 于其他窗口淑蔚。
228 對話框分為兩種市殷,如果有模式 對話框被顯示,那么其他窗口都處于不活動狀態(tài)刹衫,只有當(dāng)用戶關(guān)閉了對話框醋寝,才能操縱其他窗口。
229 對話框分為兩種带迟,如果無模式 對話框被顯示音羞,其他窗口照樣處于活動狀態(tài)。
230 在對話框類Dialog中的方法setModal(boolean)的作用是設(shè)置對話框的模式 仓犬。
231 在對話框類Dialog中的方法 setSize() 是設(shè)置對話框的大小嗅绰。
232 對話框的默認(rèn)布局是 BorderLayout 布局,在創(chuàng)建對話框時必須有對話框大小的設(shè)置搀继。
233 FileDialog 是Dialog類的子類窘面,它創(chuàng)建的對象稱為文件對話框。
234 FileDialog是Dialog類的子類叽躯,它創(chuàng)建的對象稱為文件對話框 财边。
235 Java開發(fā)程序大多是單線程 的,即一個程序只有一條從頭至尾的執(zhí)行線索点骑。
236 多線程 是指同時存在幾個執(zhí)行體酣难,按幾條不同的執(zhí)行線索共同工作的情況谍夭。
237 線程 是指進(jìn)程中的一個執(zhí)行流程。
238 一個進(jìn)程在其執(zhí)行過程中憨募,可以產(chǎn)生多個線程 紧索,形成多條執(zhí)行線索。
239 每個java程序都有一個默認(rèn)的主線程 菜谣。
240 對于java應(yīng)用程序齐板,主線程都是從 main 方法執(zhí)行的線索。
241 在java中要想實現(xiàn)多線程葛菇,必須在主線程中創(chuàng)建新的線程對象 甘磨。
242 當(dāng)一個線程處于創(chuàng)建 狀態(tài)時,它僅僅是一個空的線程對象眯停,系統(tǒng)不為它分配資源济舆。
243 一個正在執(zhí)行的線程可能被人為地中斷,讓出CPU 的使用權(quán)莺债,暫時中止自己的執(zhí)行滋觉,進(jìn)入阻塞 狀態(tài)。
244 處于死亡 狀態(tài)的線程不具有繼續(xù)運(yùn)行的能力齐邦。
245 處于就緒 狀態(tài)的線程首先進(jìn)入就緒隊列排隊等候處理器資源椎侠,同一時刻在就緒隊列中的線程可能有多個。
246 在線程排隊時措拇,優(yōu)先級高 的線程可以排在較前的位置我纪,能優(yōu)先享用到處理器資源,而其他線程只能排在它后面再獲得處理器資源丐吓。
247 對于優(yōu)先級相同的線程浅悉,遵循隊列的先進(jìn)先出 原則被分配給處理器資源。
248 Java語言使用 Thread 類及其子類的對象來表示線程券犁。
249 線程調(diào)度管理器 負(fù)責(zé)管理線程排隊和處理器在線程間的分配术健,一般都配有一個精心設(shè)計的線程調(diào)度算法。
250 在java系統(tǒng)中粘衬,線程調(diào)度依據(jù)優(yōu)先級基礎(chǔ)上的先到先服務(wù) 原則荞估。
251 當(dāng)生成一個 Thread 類的對象之后,一個新的線程就產(chǎn)生了。
252 Java 中編程實現(xiàn)多線程應(yīng)用有兩種途徑:一種是用Thread 類的子類創(chuàng)建線程稚新,另一種是用Thread 類結(jié)合 Runnable 接口創(chuàng)建線程勘伺。
253 Thread 類綜合了Java 程序中一個線程需要擁有的屬性和方法。
254 start() 方法將啟動線程對象枷莉,使之從新建狀態(tài)轉(zhuǎn)入就緒狀態(tài)并進(jìn)入就緒隊列排隊娇昙。
255 當(dāng) run 方法執(zhí)行完畢,線程就變成死亡狀態(tài)笤妙,所謂死亡狀態(tài)就是線程釋放了實體冒掌,即釋放分配給線程對象的內(nèi)存噪裕。
256 利用構(gòu)造 方法創(chuàng)建新線程對象之后,這個對象中的有關(guān)數(shù)據(jù)被初始化股毫,從而進(jìn)入線程生命周期的新建狀態(tài)膳音。
257 優(yōu)先級高的線程可以在它的run()方法中調(diào)用 sleep() 方法來使自己放棄處理器資源,休眠一段時間铃诬。
258 Java多線程使用中祭陷,調(diào)用 currentThread 方法可確定當(dāng)前占有CPU的線程。
259 當(dāng)用Thread 類的構(gòu)造方法Thread(Runnabletarget)創(chuàng)建線程對象時趣席,構(gòu)造方法中的參數(shù)必須是一個具體的對象兵志,該對象稱作線程的目標(biāo)對象 。
260 當(dāng)線程調(diào)用start 方法時宣肚,一旦輪到它來享用CPU想罕,目標(biāo)對象就會自動調(diào)用接口中的 run 方法。
261 一個實現(xiàn)了 Runnable 接口的類實際上定義了一個主線程之外的新線程的操作霉涨。
262 Thread 類代表線程類按价,它的方法 run() ―包含線程運(yùn)行時所執(zhí)行的代碼。
263 Thread 類代表線程類笙瑟,它的方法 start() 用于啟動線程楼镐。
264 Java 提供一個線程調(diào)度器來監(jiān)控程序中啟動后進(jìn)入就緒狀態(tài)的所有線程。線程調(diào)度器按照線程的優(yōu)先級 決定應(yīng)調(diào)度哪些線程來執(zhí)行往枷。
265 在獨(dú)占 方式下框产,當(dāng)前活動線程一旦獲得執(zhí)行權(quán),將一直執(zhí)行下去师溅,直到執(zhí)行完畢或由于某種原因主動放棄CPU茅信,或者是有一高優(yōu)先級的線程處于就緒狀態(tài)盾舌。
266 線程調(diào)用了yield()或 sleep() 方法主動放棄CPU墓臭。
267 線程的優(yōu)先級用數(shù)字來表示, 范圍從1 到 10 妖谴。
268 一個線程的缺省優(yōu)先級是 5 窿锉。
269 使用多線程時,有時需要協(xié)調(diào)兩個或多個線程的活動膝舅。使線程協(xié)調(diào)工作的過程稱為同步化 嗡载。
270 可以通過使用 synchronized 關(guān)鍵詞修改方法來同步化對方法的訪問。
271 線程中仍稀, wait 的作用:釋放已持有的鎖,進(jìn)入等待隊列洼滚。
272 線程中, notify 的作用:喚醒wait 隊列中的第一個線程并把它移入鎖申請隊列技潘。
273 線程中遥巴, notifyAll 的作用:喚醒wait 隊列中的所有的線程并把它們移入鎖申請隊列千康。
集合框架:
1 數(shù)組 的特點(diǎn)是長度固定,可以用下標(biāo)索引铲掐,并且所有的元素的類型都是一致的
2 堆棧 只允許對最后插入的元素進(jìn)行操作(也就是后進(jìn)先出拾弃,Last In First Out – LIFO)。如果你移除了最后一個元素摆霉,那么你可以操作倒數(shù)第二個元素豪椿,依次類推。
3 集合跟列表兩者基本相似携栋,但是集合 不允許存放重復(fù)的元素搭盾。
4隊列和堆棧有些相似,不同之處在于在隊列里第一個插入的元素也是第一個被刪除的元素(即是先進(jìn)先出)婉支。
5 鏈表 是一種由多個節(jié)點(diǎn)組成的數(shù)據(jù)結(jié)構(gòu)增蹭,并且每個節(jié)點(diǎn)包含有數(shù)據(jù)以及指向下一個節(jié)點(diǎn)的引用
6 HashMap 的訪問時間接近穩(wěn)定,它是一種鍵值對映射的數(shù)據(jù)結(jié)構(gòu)
7 樹 是一種由節(jié)點(diǎn)組成的數(shù)據(jù)結(jié)構(gòu)磅摹,每個節(jié)點(diǎn)都包含數(shù)據(jù)元素滋迈,并且有一個或多個子節(jié)點(diǎn),每個子節(jié)點(diǎn)指向一個父節(jié)點(diǎn)