如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第4章抽象、封装与类对象类和对象面向对象编程的难点面向对象程序设计抽象封装4.2Java的类Java中的类自定义类4.2.3创建对象构造函数找出下面构造函数的错误PhoneCard(longcn,intpw,doubleb,Strings){cardNumber=cn;password=pw;if(b>0)balance=b;elseSystem.exit(1);connectNumber=s;connected=false;}classPhoneCard{4.3类的修饰符4.4属性/域静态初始化器最终域final4.5方法例子判断x是否为素数抽象方法静态方法类方法:类方法的本质是该方法是属于整个类的,不是属于某个实例。(1)非static的方法是属于某个对象的方法,在这个对象创建时,对象的方法在内存中拥有自己的代码段。而static的方法是属于整个类的,它在内存中的代码段将随着类的定义而进行分配和装载,不被任何一个对象专有。(2)static方法只能处理static域或调用Static方法。(3)类方法中,不能访问实例变量。最终方法、本地方法、同步方法访问控制符表4.1类、属性和方法的访问控制例4-7AccessControl.java1:importjava.applet.Applet;2:importjava.awt.*;3:4:publicclassAccessControlextendsApplet//定义主类,在浏览器中显示信息5:{6:ClassBeAccessedc=newClassBeAccessed();//创建被访问使用类的对象(区域D)7:subClasssc=newsubClass();//创建被访问类子类的对象(区域C)8:PackageClassic=newPackageClass();//创建被访问类同一包中类的对象(区域B)9:10:publicvoidpaint(Graphicsg)//显示可访问信息11:{12:g.drawString(″SelfAccessible:″,10,20);//类可以访问自己的所有属性和方法13:g.drawString(c.toString(),20,35);14:g.drawString(″SubAccessible:″,10,55);//子类可以直接访问父类的哪些属性15:g.drawString(sc.AccessDirectly(),20,70);16:g.drawString(″PackageAccessible:″,10,90);//同包中的类可以访问哪些属性17:g.drawString(ic.AccessDirectly(),20,105);18:g.drawString(″Accessusingpublicmethod:″,10,125);//通过调用被访问类的19:g.drawString(sc.AccessCls(),20,140);//公共方法来访问它的20:g.drawString(ic.AccessCls(),20,155);//所有性质的属性21:}22:}23:classClassBeAccessed//被访问类是非公共类,同一包中的其他类都可创建其对象24:{25:publicStringm-PublicProperty;//公共属性26:Stringm-FriendlyProperty;//缺省属性(又称为友元)27:protectedStringm-ProtectedProperty;//保护属性28:privateStringm-PrivateProperty;//私有属性29:30:ClassBeAccessed()//构造函数,为各属性赋初值31:{32:m-PublicProperty=newString(″Public″);33:m-FriendlyProperty=newString(″Friendly″);34:m-ProtectedProperty=newString(″Protected″);35:m-PrivateProperty=newString(″Private″);36:}37:publicStringtoString()//公共方法,连接各属性的字符串并显示38:{39:return(m-PublicProperty+″;″40:+m-FriendlyProperty+″;″41:+m-ProtectedProperty+″;″42:+m-PrivateP