版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Initialization and cleanup,華南理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院 韋佳 ,Initialization and cleanup are two important safety issues. Java use constructor to initialize an object. Java use garbage collector to release memory resources.,Guaranteed initialization with the constructor,The name of the constructor is the same as
2、 the name of the class. The constructor will be called automatically during initialization. Default constructor: no arguments. /SimpleConstructor.java The constructor can also have arguments to allow you to specify how an object is created. /SimpleConstructor2.java,The constructor is an unusual type
3、 of method because is has no return value.,Method overloading,The same word expresses a number of different meanings: overloaded. Method overloading is essential to allow the same method name to be used with different argument types. /Overloading.java,Distinguishing overloaded methods,Each overloade
4、d method must take a unique list of argument types. Even differences in the ordering of arguments are sufficient to distinguish two methods. /OverloadingOrder.java,Overloading with primitives,A primitive can be automatically promoted from a smaller type to a larger one. /PrimitiveOverloading.java If
5、 your argument is wider, then you must perform a narrowing conversion with a cast. /Demotion.java,Overloading on return values,You cannot use return value types to distinguish overloaded methods.,Default constructors,If you create a class that has no constructors, the compiler will automatically cre
6、ate a default constructor for you. /DefaultConstructor.java If you define any constructors, the compiler will not synthesize one for you. /NoSynthesis.java,The “this” keyword,The “this” keyword which can be used only inside a non-static method produces the reference to the object that the method has
7、 been called for. The “this” keyword is used only for those special cases in which you need to explicitly use the reference to the current object. /Leaf.java The “this” keyword is also useful for passing the current object to another method. /PassingThis.java,Calling constructors from constructors,I
8、n a constructor, when you give “this” keyword an argument list, it makes an explicit call to the constructor that matches that argument list. /Flower.java While you can call one constructor using this, you cannot call two. The constructor call must be the first thing you do.,The meaning of “static”,
9、There is no “this” for “static” method. You cannot call non-static methods from inside static methods (the reverse is possible).,Cleanup: finalization and garbage collection,Your objects might not get garbage collected. Garbage collection is not destruction. Garbage collection is only about memory.,
10、Member initialization,Java guarantees that variables are properly initialized before they are used. In the case of a methods local variables, this guarantee comes in the form of a compile-time error. Each primitive field of a class is guaranteed to get an initial value. /InitialValues.java,Specifyin
11、g initialization,Simply assign the initial value at the point you define the variable in the class. /InitialValues2.java You can initialize non-primitive objects in this same way. /Measurement.java You can call a method to provide an initialization value. /MethodInit.java MethodInit2.java Forward re
12、ferencing. /MethodInit3.java Limitation: every object of the type will get the same initialization values.,Constructor initialization,You cant preclude the automatic initialization, which happens before the constructor is entered. The compiler doesnt try to force you to initialize elements in the co
13、nstructor at any particular place.,Order of initialization,Within a class, the order of initialization is determined by the order that the variables are defined within the class. The variable definitions may be scattered throughout and in between method definitions, but the variables are initialized
14、 before any methods can be called - even the constructor. /OrderOfInitialization.java,“static” data initialization,If a field is a static primitive and you dont initialize it, it gets the standard initial value for its type. If its a reference to an object, the default initialization value is null.
15、If you want to place initialization at the point of definition, it looks the same as for non-statics. /StaticInitialization.java The order of initialization is statics first, and then the non-static objects.,Explicit static initialization,Java allows you to group static initializations inside a spec
16、ial “static clause” in a class. /Spoon.java This code is executed only once like other static initializations: the first time you make an object or the first time you access a static member. /ExplicitStatic.java,Non-static instance initialization,Java provides instance initialization for initializin
17、g non-static variables for each object. /Mugs.java The instance initialization clause is executed before the constructor.,Array initialization,Define an array reference. Initialize an array. Copying reference. /ArraysOfPrimitives.java Java will cause a runtime error if you step out of bounds. You ca
18、n use new to create the elements in the array. /ArrayNew.java If you create a non-primitive array, you create an array of references. /ArrayClassObj.java,Its also possible to initialize arrays of objects by using the curly brace-enclosed list. /ArrayInit.java,Variable argument lists,Variable argument lists. /VarArgs.java;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南勞動人事職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及答案1套
- 2026年哈爾濱應(yīng)用職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試模擬測試卷及答案1套
- 2025廣東省疾病預(yù)防控制中心招聘科研助理1人(公共基礎(chǔ)知識)測試題附答案
- 2026寧波市江北區(qū)面向2026屆高校畢業(yè)生招聘高層次和緊缺人才13人筆試參考題庫及答案解析
- 2025年甘肅省定西市隴西縣福星中心衛(wèi)生院高塄分院招聘鄉(xiāng)村醫(yī)生(公共基礎(chǔ)知識)綜合能力測試題附答案
- 2026中國安能集團(tuán)科工有限公司招聘6人筆試參考題庫及答案解析
- 2025河南省人力資源開發(fā)中心有限公司招聘1人考試題庫附答案
- 2025年甘肅省隴南師范學(xué)院第二批高層次人才和急需緊缺專業(yè)技術(shù)人才引進(jìn)(20人)參考題庫附答案
- 2025廣東廣州市天河區(qū)靈秀小學(xué)招聘英語教師1人(學(xué)校自籌經(jīng)費)考試歷年真題匯編附答案
- 2025年保山市部分醫(yī)療衛(wèi)生事業(yè)單位招聘博士研究生(10人)筆試備考題庫附答案
- 廣東省大灣區(qū)2023-2024學(xué)年高一上學(xué)期期末生物試題【含答案解析】
- 第四單元地理信息技術(shù)的應(yīng)用課件 【高效課堂+精研精講】高中地理魯教版(2019)必修第一冊
- 魯科版高中化學(xué)必修一教案全冊
- 提高隧道初支平整度合格率
- 2023年版測量結(jié)果的計量溯源性要求
- 建筑能耗與碳排放研究報告
- GB 29415-2013耐火電纜槽盒
- 中國古代經(jīng)濟(jì)試題
- 軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書
- 磷石膏抹灰專項施工方案
- 水電水利工程施工質(zhì)量管理培訓(xùn)講義
評論
0/150
提交評論