欢迎来到天天文库
浏览记录
ID:9511041
大小:68.50 KB
页数:8页
时间:2018-05-02
《java编程思想读书笔记(4章)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java编程思想读书笔记(4章) 第4章初始化和清理 一.以构造函数(constructor)确保初始化的进行 如果某个class具备构造函数,Java便会在对象生成之际,使用者有能力加以操作之前,自动调用其构造函数,于是便能名确保初始化动作一定被执行。 二.函数重载(Methodoverloading) 1.区分重载函数 由于只能从函数名和函数的引数列来区分两个函数,而重载函数具有相同的函数名称,所以每个重载函数都必须具备独一无二的引数列。 2.Default构造函数 1)default构造函
2、数是一种不带任何引数的构造函数。如果你所开发的class不具任何构造函数,编译器会自动为你生成一个default构造函数。 2)如果你自行定义了任何一个构造函数(不论有无引数),编译器就不会为你生成default构造函数。 3)如果定义了一个class,如classBush{ Bush(intI){} } 当想用ne { publicstaticvoidmain(String[]args) { //Sundaex=nee实例,而在getName()中却要使用name实例,显然的错误的。 cl
3、assMovie{ Stringname=; Movie(){} publicMovie(Stringname){this.name=name;} publicstaticStringgetName(){returnname;} } publicclassTest{ publicstaticvoidmain(String[]args){ //下面两名先产生实例后再调用getName()没有问题 //Moviemovie1=neovie1); //Stringname1=movie1.getN
4、ame(); //下面一名将出错 //Stringname2=Movie.getname();(a) } } 三.清理(cleanup):终结(finalization)与垃圾回收(garbagecollection) 1)你的对象可能不会被回收 只有当程序不够内存时,垃圾回收器才会启动去回收不再被使用的对象的内存空间。某个对象所占用的空间可能永远不会被释放掉,因为你的程序可能永远不会逼近内存用完的那一刻,而垃圾回收器完全没有被启动以释放你的对象所占据的内存,那些空间便会在程序终止时才一次归还给
5、操作系统 3)只有在采用原生函数(nativemethods)时,才使用finalize()。 四.成员初始化(memberinitialization) 1)函数中的变量不会被自动初始化,如voidf(){ inti; i++; } 将发生编译错误,因为i没有被初始化。 2)class的数据成员会被自动初始化,具体情况如下(见P220例子): 基本型别:boolean:false、char:null(u123下一页[教育资源网]edu..,。0000)、byte:0、short:0、int:
6、0、 long:0、float:0、double:0 对象(reference):null 1.初始化次序 1)所有变量一定会在任何一个函数(甚至是构造函数)被调用之前完成初始化(见P233例子) 2)在产生一个class的对象(包含static成员的class的代码被装载)时,首先自动初始化class中的static成员变量,再执行所有出现于static数据定义处的初始化动作,最后执行staticblock,所有这些初始化操作只在第一次生成该对象时进行。 3)自动初始化class中的其它成员变量。
7、 4)执行所有出现于数据定义处的初始化动作。如:inti=1;的执行顺序是先把I自动初始化为0,再执行数据定义处的初始化动作,初始化为1。 5)执行non-staticblock 6)调用构造函数。 例:classCup{ Cup(intmarker){ System.out.println(Cup(+marker+)); } voidf(intmarker){ System.out.println(f(+marker+)); } } classCups{ staticCupc1=ne
8、.out.println(Cups()); } } publicclassExplicitStatic{ publicstaticvoidmain(String[]args){ System.out.println(Insidemain()); Cups.c1.f(99); } staticCupsx=neain() f(99) 2.Array的初始化 1)定义数
此文档下载收益归作者所有