Java總結(jié)

知識(shí)點(diǎn)

構(gòu)造方法是在對(duì)象被創(chuàng)建時(shí)初始化對(duì)象的成員的方法祟偷。程序在創(chuàng)建對(duì)象時(shí)會(huì)自動(dòng)調(diào)用默認(rèn)的構(gòu)造方法猖凛,如果用戶定義了構(gòu)造方法衍腥,會(huì)覆蓋掉默認(rèn)構(gòu)造方法岂膳。

語(yǔ)法規(guī)則

1.方法名必須與類名相同

2.無(wú)返回值類型誓竿,也不能用void修飾

3.分為有參構(gòu)造和無(wú)參構(gòu)造

4.一個(gè)類有多個(gè)構(gòu)造方法時(shí),多個(gè)構(gòu)造方法重載

默認(rèn)的構(gòu)造方法

1.默認(rèn)的構(gòu)造方法沒(méi)有參數(shù)谈截,方法體沒(méi)有代碼筷屡,屬于“不做事”方法。

2.如果class前有修飾符簸喂,則默認(rèn)的構(gòu)造方法前也有相同的修飾符

3.類中只定義了有參構(gòu)造方法毙死,調(diào)用無(wú)參構(gòu)造方法創(chuàng)建對(duì)象,編譯不能通過(guò)

構(gòu)造方法中調(diào)用構(gòu)造方法


public Cylinder5() {

this(2.0 , 2 , "紅色");

System.out.println("無(wú)參構(gòu)造方法被調(diào)用了");

}

public Cylinder5(double r , int h , String c) {

System.out.println("有參構(gòu)造方法被調(diào)用了");

radius = r;

height = h;

color = c;

}

1喻鳄、在某一構(gòu)造方法中調(diào)用另一構(gòu)造方法時(shí)扼倘,必須使用this關(guān)鍵字來(lái)調(diào)用,否則報(bào)錯(cuò)

2除呵、this()必須寫(xiě)在構(gòu)造方法內(nèi)的第一行

調(diào)用父類的構(gòu)造方法

1再菊、構(gòu)造方法是不能被繼承的,但是子類可以調(diào)用父類的構(gòu)造方法

2.颜曾、Java程序在執(zhí)行子類的構(gòu)造方法之前纠拔,會(huì)先調(diào)用父類中的無(wú)參構(gòu)造方法,旨在幫助繼承自父類的成員做初始化操作

3泛豪、通過(guò)super(參數(shù)列表)調(diào)用父類特定的構(gòu)造方法稠诲,super()必須寫(xiě)在子類構(gòu)造方法的第一行(不能和this()存在于同一構(gòu)造方法里),super()可以重載

1诡曙、構(gòu)造方法是不能被繼承的臀叙,但是子類可以調(diào)用父類的構(gòu)造方法

2.、Java程序在執(zhí)行子類的構(gòu)造方法之前岗仑,會(huì)先調(diào)用父類中的無(wú)參構(gòu)造方法匹耕,旨在幫助繼承自父類的成員做初始化操作

3、通過(guò)super(參數(shù)列表)調(diào)用父類特定的構(gòu)造方法荠雕,super()必須寫(xiě)在子類構(gòu)造方法的第一行(不能和this()存在于同一構(gòu)造方法里)稳其,super()可以重載

構(gòu)造器創(chuàng)建對(duì)象

類的初始化&實(shí)例化順序

先初始化再實(shí)例化:靜態(tài)域--> 實(shí)例域--> 構(gòu)造函數(shù)

任何子類的動(dòng)作都會(huì)觸發(fā)父類:父類--> 子類

同一域的順序:創(chuàng)建-->賦值

對(duì)象創(chuàng)建過(guò)程

1驶赏、實(shí)例變量初始化

2、實(shí)例代碼塊初始化

3既鞠、構(gòu)造函數(shù)初始化

4煤傍、引用變量指向?qū)ο?/p>

集合

ArrayList

1、容量不固定嘱蛋,隨著容量的增加而動(dòng)態(tài)擴(kuò)容(閾值基本不會(huì)達(dá)到)

2蚯姆、有序集合(插入的順序==輸出的順序)

3、插入的元素可以為null

4洒敏、增刪改查效率更高(相對(duì)于LinkedList來(lái)說(shuō))

5龄恋、線程不安全

基本操作

public class ArrayListTest {

? ? public static void main(String[] agrs){

? ? ? ? //創(chuàng)建ArrayList集合:

? ? ? ? List<String> list = new ArrayList<String>();

? ? ? ? System.out.println("ArrayList集合初始化容量:"+list.size());

? ? ? ? //添加功能:

? ? ? ? list.add("Hello");

? ? ? ? list.add("world");

? ? ? ? list.add(2,"!");

? ? ? ? System.out.println("ArrayList當(dāng)前容量:"+list.size());

? ? ? ? //修改功能:

? ? ? ? list.set(0,"my");

? ? ? ? list.set(1,"name");

? ? ? ? System.out.println("ArrayList當(dāng)前內(nèi)容:"+list.toString());

? ? ? ? //獲取功能:

? ? ? ? String element = list.get(0);

? ? ? ? System.out.println(element);

? ? ? ? //迭代器遍歷集合:(ArrayList實(shí)際的跌倒器是Itr對(duì)象)

? ? ? ? Iterator<String> iterator =? list.iterator();

? ? ? ? while(iterator.hasNext()){

? ? ? ? ? ? String next = iterator.next();

? ? ? ? ? ? System.out.println(next);

? ? ? ? }


? ? ? ? //for循環(huán)迭代集合:

? ? ? ? for(String str:list){

? ? ? ? ? ? System.out.println(str);

? ? ? ? }

? ? ? ? //判斷功能:

? ? ? ? boolean isEmpty = list.isEmpty();

? ? ? ? boolean isContain = list.contains("my");

? ? ? ? //長(zhǎng)度功能:

? ? ? ? int size = list.size();

? ? ? ? //把集合轉(zhuǎn)換成數(shù)組:

? ? ? ? String[] strArray = list.toArray(new String[]{});

? ? ? ? //刪除功能:

? ? ? ? list.remove(0);

? ? ? ? list.remove("world");

? ? ? ? list.clear();

? ? ? ? System.out.println("ArrayList當(dāng)前容量:"+list.size());

? ? }

}

集合和數(shù)組

1、數(shù)組可以儲(chǔ)存基本數(shù)據(jù)類型和對(duì)象凶伙,而集合中只能儲(chǔ)存對(duì)象(可以以包裝類形式存儲(chǔ)基本數(shù)據(jù)類型)郭毕。

2、數(shù)組的長(zhǎng)度是固定的函荣,集合長(zhǎng)度是可以改變的显押。

3、定義數(shù)組時(shí)必須指定數(shù)組元素類型傻挂,集合默認(rèn)其中所有元素都是Object

4乘碑、集合有多種實(shí)現(xiàn)方式和不同的適用場(chǎng)合,而不像數(shù)組僅采用分配連續(xù)的空間方式

5金拒、集合以接口和類的形式存在兽肤,具有封裝,繼承和多態(tài)等類的特性殖蚕,通過(guò)簡(jiǎn)單的方法和屬性調(diào)用即可實(shí)現(xiàn)各種復(fù)雜的操作轿衔,大大提高軟件的開(kāi)發(fā)效率。

equals() 和 ==

equals是方法睦疫,而 == 是運(yùn)算符

equals()

1害驹、equals方法不能作用于基本數(shù)據(jù)類型的變量;

2蛤育、如果沒(méi)有對(duì)Object中equals方法進(jìn)行重寫(xiě)宛官,則比較的是引用類型的變量所指向的對(duì)象的地址,反之比較的是內(nèi)容

==

1瓦糕、作用于基本數(shù)據(jù)類型的變量底洗,則直接比較其存儲(chǔ)的 “值”是否相等

2、作用于引用類型的變量咕娄,則比較的是所指向的對(duì)象的地址

接口

定義

接口(Interface)亥揖,在JAVA編程語(yǔ)言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來(lái)聲明费变。一個(gè)類通過(guò)繼承接口的方式摧扇,從而來(lái)繼承接口的抽象方法。

語(yǔ)法

1挚歧、接口中每一個(gè)方法也是隱式抽象的,接口中的方法會(huì)被隱式的指定為 public abstract(只能是 public abstract扛稽,其他修飾符都會(huì)報(bào)錯(cuò))。

2滑负、接口中可以含有變量在张,但是接口中的變量會(huì)被隱式的指定為 public static final 變量(并且只能是 public,用 private 修飾會(huì)報(bào)編譯錯(cuò)誤)矮慕。

3帮匾、接口中的方法是不能在接口中實(shí)現(xiàn)的,只能由實(shí)現(xiàn)接口的類來(lái)實(shí)現(xiàn)接口中的方法凡傅。

//接口的聲明

interfaceprintable{

voidprint();

}

//接口的實(shí)現(xiàn)

classA6implementsprintable{

publicvoidprint() {

System.out.println("Hello, Interface");

?? }

類與接口的區(qū)別

接口不能用于實(shí)例化對(duì)象辟狈。

接口沒(méi)有構(gòu)造方法肠缔。

接口中所有的方法必須是抽象方法夏跷,Java 8 之后 接口中可以使用 default 關(guān)鍵字修飾的非抽象方法。

接口不能包含成員變量明未,除了 static 和 final 變量槽华。

接口不是被類繼承了,而是要被類實(shí)現(xiàn)趟妥。

接口支持多繼承猫态。

抽象類和接口的區(qū)別

\1. 抽象類中的方法可以有方法體,就是能實(shí)現(xiàn)方法的具體功能披摄,但是接口中的方法不行亲雪。

\2. 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是 public static final 類型的疚膊。

\3. 接口中不能含有靜態(tài)代碼塊以及靜態(tài)方法(用 static 修飾的方法)义辕,而抽象類是可以有靜態(tài)代碼塊和靜態(tài)方法。

\4. 一個(gè)類只能繼承一個(gè)抽象類寓盗,而一個(gè)類卻可以實(shí)現(xiàn)多個(gè)接口灌砖。

接口的繼承

一個(gè)接口能繼承另一個(gè)接口,和類之間的繼承方式比較相似傀蚌。接口的繼承使用extends關(guān)鍵字基显,子接口繼承父接口的方法。

關(guān)閉窗口的方法

1.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//一個(gè)窗口點(diǎn)右上角×,只有該窗口會(huì)關(guān)閉

2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//一個(gè)窗口點(diǎn)右上角×,軟件的所有窗口都會(huì)關(guān)閉

3.System.exit(0)表示正常退出, JVMSystem.exit(1)表示異常退出JVM

正常退出 是指如果當(dāng)前程序還有在執(zhí)行的任務(wù)善炫,則等待所有任務(wù)執(zhí)行完成以后再退出撩幽;非正常退出 是只要時(shí)間到了,立刻停止程序運(yùn)行箩艺,不管是否還有任務(wù)在執(zhí)行窜醉。

階段總結(jié)

階段建議時(shí)間:一個(gè)月

實(shí)際完成時(shí)間:大約三個(gè)月

暑假學(xué)習(xí)狀態(tài):第一階段走得最快但是考核不理想制跟,考核兩次才達(dá)標(biāo);第二階段酱虎,進(jìn)度穩(wěn)定雨膨,考核理想;第三階段读串,八章以后聊记,之前的學(xué)習(xí)方法不適用了,無(wú)效學(xué)習(xí)了一段時(shí)間恢暖。嘗試寫(xiě)游戲才找到方向排监。

在校學(xué)習(xí)狀態(tài):到校兩星期后(10.26),重新學(xué)習(xí)Java杰捂,經(jīng)過(guò)兩天調(diào)整舆床,找到游戲目標(biāo),進(jìn)度穩(wěn)定前進(jìn)嫁佳。于11月12號(hào)寫(xiě)完游戲(畫(huà)面暫停的效果沒(méi)有實(shí)現(xiàn))挨队,18號(hào)考核(12號(hào)到18號(hào)之間,Java進(jìn)度又慢下來(lái)蒿往,等于這段時(shí)間沒(méi)學(xué))盛垦。

Java學(xué)習(xí)心得:

從理論到實(shí)踐,學(xué)習(xí)方法會(huì)有些許不同瓤漏。學(xué)習(xí)理論強(qiáng)調(diào)的是系統(tǒng)性和深度腾夯,簡(jiǎn)單來(lái)說(shuō)就是踏踏實(shí)實(shí)掌握所有該掌握的知識(shí)點(diǎn);寫(xiě)游戲要拓展知識(shí)面的廣度以及靈活變通蔬充,根據(jù)游戲的需要蝶俱,可能要額外地基礎(chǔ)以外的知識(shí),把所學(xué)知識(shí)運(yùn)用到游戲里饥漫,在這段時(shí)間榨呆,會(huì)面臨許多未知的bug,陌生感和迷茫感如影隨形趾浅,但只要不太偏離路線愕提,堅(jiān)持下來(lái),進(jìn)度會(huì)越來(lái)越快皿哨,越來(lái)越得心應(yīng)手浅侨。

不管是夯基礎(chǔ)還是寫(xiě)游戲,都需要去動(dòng)手操作证膨,敲代碼的過(guò)程是加深理解和加強(qiáng)運(yùn)用的過(guò)程如输。前八章百分之九十的代碼我都敲過(guò),暫時(shí)理解不了的知識(shí)點(diǎn)甚至?xí)磸?fù)去敲,至少讓腦子和肌肉記住不见。寫(xiě)游戲更需要敲代碼澳化。

積極溝通,在數(shù)據(jù)園以及學(xué)校稳吮,我完成學(xué)習(xí)任務(wù)或者不想學(xué)習(xí)了都會(huì)去組員那邊轉(zhuǎn)一轉(zhuǎn)缎谷,問(wèn)一下他們的進(jìn)度或者幫忙解決問(wèn)題,對(duì)于學(xué)習(xí)有沒(méi)有幫助不太清楚灶似,但是對(duì)調(diào)整心態(tài)還是很有幫助的列林。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市酪惭,隨后出現(xiàn)的幾起案子希痴,更是在濱河造成了極大的恐慌,老刑警劉巖春感,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砌创,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鲫懒,警方通過(guò)查閱死者的電腦和手機(jī)嫩实,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)刀疙,“玉大人舶赔,你說(shuō)我怎么就攤上這事∏恚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵撵溃,是天一觀的道長(zhǎng)疚鲤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)缘挑,這世上最難降的妖魔是什么集歇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮语淘,結(jié)果婚禮上诲宇,老公的妹妹穿的比我還像新娘。我一直安慰自己惶翻,他們只是感情好姑蓝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著吕粗,像睡著了一般纺荧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天宙暇,我揣著相機(jī)與錄音输枯,去河邊找鬼。 笑死占贫,一個(gè)胖子當(dāng)著我的面吹牛桃熄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播型奥,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蜻拨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了桩引?” 一聲冷哼從身側(cè)響起缎讼,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坑匠,沒(méi)想到半個(gè)月后血崭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厘灼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年夹纫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片设凹。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舰讹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出闪朱,到底是詐尸還是另有隱情月匣,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布奋姿,位于F島的核電站锄开,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏称诗。R本人自食惡果不足惜萍悴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寓免。 院中可真熱鬧癣诱,春花似錦、人聲如沸袜香。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)困鸥。三九已至嗅蔬,卻和暖如春剑按,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澜术。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工艺蝴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸟废。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓猜敢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親盒延。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缩擂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • ## BigData-Java總結(jié)大全(二)區(qū)別設(shè)計(jì) ## 1.this與super的區(qū)別 this與super關(guān)...
    北京大數(shù)據(jù)蘇煥之閱讀 736評(píng)論 0 0
  • java基礎(chǔ) 語(yǔ)法 static 除了修飾屬性和?法外,還有靜態(tài)代碼塊 的功能添寺,可?于類的初始化操作胯盯。進(jìn)?提升程序...
    f7629e2bca1c閱讀 183評(píng)論 0 0
  • 數(shù)據(jù)結(jié)構(gòu) 數(shù)組 Array、Array List... 特點(diǎn) 內(nèi)存地址連續(xù)计露,使用前需要指定數(shù)組長(zhǎng)度博脑。 有下標(biāo)。依據(jù)...
    FishBones閱讀 272評(píng)論 0 0
  • Data-Java總結(jié)大全(一)基礎(chǔ)篇 1.標(biāo)識(shí)符的注意事項(xiàng)以及命名規(guī)范 定義 組成規(guī)則 注意事項(xiàng) A:包名全部小...
    北京大數(shù)據(jù)蘇煥之閱讀 1,189評(píng)論 0 0
  • Java基本類型 強(qiáng)類型語(yǔ)言 如果 short byte 需要使用強(qiáng)制類型轉(zhuǎn)換才能保持原類型整數(shù)/0 Exc...
    bps閱讀 279評(píng)論 0 0