版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Initialization and cleanup,华南理工大学 计算机科学与工程学院 韦佳 ,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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纪念端午节的古诗
- 端午节社区文化活动标语
- 创建文明城市倡议书模板锦集5篇
- 电商金融服务合同
- 电商行业:电商物流配送优化方案
- 电商行业电子商务平台推广方案
- 智能供应链产品管理系统开发合同
- 智能仓储与配送优化策略在电商行业的实施方案
- 智慧物流配送网络优化项目
- 智慧安防监控系统研发与市场推广方案
- 国有企业管理人员选拔任用管理办法
- 危化品单位标准化手册作业活动清单详解
- 初中音乐校本教材
- 烈士纪念日活动方案4篇
- T∕CCMA 0098-2020 移动式升降工作平台操作工
- 硫辛酸的药理及临床应用
- 《做更好的自己》PPT优秀课件
- 2021年出诊登记表
- 肺挫伤(精品课件)
- 招聘话术与沟通技巧培训
- 2021年法院干部现实表现材料
评论
0/150
提交评论