欢迎来到天天文库
浏览记录
ID:27187427
大小:247.51 KB
页数:21页
时间:2018-12-01
《使用类和对象编程三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5讲使用类和对象编程(三)内部类实例程序控制结构选择语句目标了解内部类的定义和使用掌握定义简单内部类的方法理解程序控制结构根据程序需要设计合理的布尔表达式运用分支语句实现选择结构的程序设计内部类类可以嵌套定义,即在一个类的类体中,还可以嵌套定义另外一个类。被嵌套的类称为内部类(InnerClass),它的上级称为外部类。内部类中还可以再嵌套另一个类,在最外层的类被称为顶层类(Toplevelclass)。内部类的创建方法与外部类相似。实例代码3_7使用内部类的原因:Innerclassmethodscanaccessthedatafromthescope
2、inwhichtheyaredefined—includingdatathatwouldotherwisebeprivate.Innerclassescanbehiddenfromotherclassesinthesamepackage.Anonymousinnerclassesarehandywhenyouwanttodefinecallbackswithoutwritingalotofcode.匿名内部类有一种称为匿名内部类(anonymousinnerclass)的内部类,是指可以利用内部类创建不具名称的对象,并利用它访问类里的成员。匿名内部类的创建
3、不同于普通的内部类的创建,不需要定义类名,直接用new创建对象。class Out{void show(){System.out.println("thisis Out showing.");}}public classTestAnonymousInterClass{public static voidmain(Stringargs[]){TestAnonymousInterClasstest=newTestAnonymousInterClass();test.show();}//在这个方法中构造了一个匿名内部类private void show(){Ou
4、tanonyInter=new Out(){//获取匿名内部类实例void show(){//重写父类的方法System.out.println("thisis AnonymousInterClassshowing.");}};anonyInter.show();//调用其方法}}实例一已知圆半径,用面向对象的编程方法,计算圆面积。分析:一切数据和操作被封装在对象中,可以将圆作为一个对象来处理。这里的数据就是圆的半径,操作即计算圆面积。进一步分析:对象是类的实例化,因此需要创建一个类,属性就是半径。计算圆面积,需要获得圆的半径,而半径应该能够变化,这些操作
5、是类的属性行为,操作在类中以方法的形式表示,因此需要在类中建立3个方法,分别用来读取半径、修改半径和计算面积。类和方法的设计:Circle作为类名,数据为Radius,创建的3个方法:getRadius()、setRadius()和computeArea()。classCircle{privatedoubleradius;publicCircle(doubler){radius=r;}publicdoublegetRadius(){returnradius;}publicvoidsetRadius(doublenewRadius){rad
6、ius=newRadius;}publicdoublecomputeArea(){returnradius*radius*3.14159;}实例一(续)publicclassEx3_10{publicstaticvoidmain(Stringargs[]){CriclemyCircle=newCircle(5.0);System.out.println(“thecircleradiusis:”+myCircle.getRadius()+”thecircleareais:”+myCircle.computeArea());myCirle.setRa
7、dius(myCircle.getRadius()*2.0);System.out.println(“thecircleradiusis:”+myCircle.getRadius()+”thecircleareais:”+myCircle.computeArea());}}实例一(续)实例代码Ex3_10程序分析:声明了类Circle,方法getRadius、setRadius和computeArea()分别用来读取、修改半径和计算圆面积。主方法中先通过自定义构造方法circle(doubler),实例化对象myCircle并对其成员变量进行初始化。第一
8、行输出语句中,myCircle.getRadius()获得圆的初始
此文档下载收益归作者所有