欢迎来到天天文库
浏览记录
ID:38871285
大小:286.51 KB
页数:26页
时间:2019-06-20
《《JAVA语言程序设计》第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1对象和类(续)对象的创建对象的使用对象的释放对象的访问2对象的创建对象成员(变量和方法)静态(static)成员:属于类实例成员:属于对象创建对象/实例化对象—new例1:Applea=newApple();(创建对象)例2:Applea;(对象的说明)a=newApple();(实例化对象)对象的实例化通过构造方法(constructor)来实现构造方法的名字与类名相同构造方法没有返回值构造方法可以有多个,构成方法的重载(overload)3例:对象的实例化和初始化publicstaticvoidmain(Stringargs[]){Squa
2、res1=newSquare();Squares2=newSquare(20,50);Squares3=newSquare(s1);System.out.println(s1.width()+“”+s1.height());System.out.println(s2.width()+“”+s2.height());System.out.println(s3.width()+“”+s3.height());}}classSquare{inta,h;Square(){a=10;h=20;}Square(intx,inty){a=x;h=y;}Squa
3、re(Squares){a=s.width();h=s.height();}intwidth(){returna;}intheight(){returnh;}计算结果:102020501020对象的创建4默认构造方法例classApple{intcolor;}Applea=newApple();对象实例的判断:null例Applea;if(a==null)System.out.println(“Daydream”);对象的创建运行时系统自动赋予一个空构造函数如publicApple(){;}5再谈构造方法对象的创建classMyTest{MyTe
4、st(booleanb){}publicstaticvoidmain(Stringargs[]){//MyTestm1=newMyTest();MyTestm2=newMyTest(false);}}classMyTest{MyTest(booleanb){}MyTest(){}publicstaticvoidmain(Stringargs[]){MyTestm1=newMyTest();MyTestm2=newMyTest(false);}}运行时系统自动赋予一个空构造方法,仅仅当该类没定义构造方法的情况下6对象和类(续)对象的创建对象的使用对
5、象的释放对象的访问7对象的使用通过对象引用对象的成员变量和成员方法classSquare{inta,h;Square(){a=10;h=20;}Square(intx,inty){a=x;h=y;}Square(Squarer){a=r.width();h=r.height();}intwidth(){returna;}intheight(){returnh;}voidset(intx,inty){a=x;h=y;}}q1.set(30,40);q1.a=30;q1.h=40;目的相同第一方式更安全、更面向对象(数据封装)避免直接操纵变量8对象的
6、使用引用对象的变量格式:对象名.变量名引用对象的方法格式:对象名.方法名例1Vectorv=newVector();v.addElement(“s1”);例2inta[]={1,2,3,4,5};intsize=a.length;例3System.out.println();9对象和类(续)对象的创建对象的使用对象的释放对象的访问10对象的释放将对象从内存中清除内存的管理(枯燥、容易出错)垃圾回收(GarbageCollection)TheJavaplatformallowsyoutocreateasmanyobjectsasyouwant(li
7、mited,ofcourse,bywhatyoursystemcanhandle),andyoudon'thavetoworryaboutdestroyingthem.TheJavaruntimeenvironmentdeletesobjectswhenitdeterminesthattheyarenolongerbeingused.Thisprocessiscalledgarbagecollection.11对象的释放垃圾搜集器(GarbageCollector)周期性地释放不再被引用的对象,自动完成手动完成,System.gc();(java
8、.lang.System中)publicstaticvoidgc()--Runsthegarbagecollector.12对象和类(续
此文档下载收益归作者所有