




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章常用的系统类及内部类,Object类System类Math类基本数据类型包装类Date、Calendar和SimpleDataFormat类内部类,8.1Object类,Java中所有类的顶层类;注意=与equals方法的区别;Object中的equals方法返回的也是对象地址的比较且不能比较基本数据类型;equals方法的覆盖,根据自己的需要进行特定的重写;Object中toString方法返回的是:对象的类名16进制哈希码;println方法中参数为对象时,实际打印的是toString方法中的内容;因此,建议按自己的需求覆盖toString方法。,8.1.1equals方法的覆盖,Publicbooleanequals(Objectobj);Object中的这个方法比较的是地址,因此我们应当在自己的类中按自己的要求覆盖这个方法;步骤:测试形参是否为null;测试类型是否匹配;将obj强转为自己的类所属的类型。最后,比较所有字段。使用=比较基本数据类型,使用equals方法比较对象如果所有字段均匹配返回true,否则返回false。,例如:equals方法的覆盖,classPointTestprivateintx;privateinty;publicPointTest()publicPointTest(intx,inty)this.x=x;this.y=y;publicbooleanequals(Objectobj)if(objinstanceofPointTest),8.1.2toString方法的覆盖,publicStringtoString()returnx=+x+,y=+y;classTestpublicstaticvoidmain(Stringargs)PointTestpt1=newPointTest(3,3);PointTestpt2=null;System.out.println(pt1.equals(pt2);,8.2System类,System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。具体的成员变量和方法参照帮助文档,8.3Math类,Java中的Math类属于java.lang包中,Math的所有方法均用static声明,所以使用该类中的方法时,可以直接使用包名方法名,如:Math.sin();Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数、四舍五入函数、随机函数、绝对值函数、n次方函数等等。具体的成员变量和方法参照帮助文档,8.4基本数据类型的包装类,Java中基本数据类型分为四类八种。对应每一种基本数据类型JavaSE中都提供了包装类,提供了对应的基本数据类型数据操作的方法。如下表:具体的成员变量和方法参照帮助文档,8.5Date类、Calendar类、DataFormat类,JavaSE中的Calendar(日历)、Date(日期)和SimpleDateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。日期是商业逻辑计算一个关键的部分,所有的开发者都应该能够计算未来的日期、定制日期的显示格式并将文本数据解析成日期对象。这三个类中提供了非常重要的属性或者方法来实现商业逻辑中关于日期数据的处理。Date类:从Java开发包(JDK)1.0就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法。比如说月、日和年,这些方法现在遭到了批评并且已经被转移到了Calendar类里去了。这种改进旨在更好的处理日期数据的国际化格式。Date类实际上只是一个包裹类,它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年1月1日00:00:00这一刻之前或者是之后经历的毫秒数。SimpleDateFormat类:为了实现日期格式的定制或者是将字符串日期转换为日期对象,这样的功能SimpleDateFormat类完全可以提供。Calendar类:Calendar类可以帮助我们设置和获取日期数据的特定部分比如说小时、日或者分钟等等。,8.6内部类,内部类可以用protected、private修饰;不管非静态内部类还是静态内部类,都作为外部类的一个成员来对待,与类的非静态成员和静态成员的使用方法基本相同;内部类直接访问外部类的成员。非静态内部类中不允许有静态的成员;创建非静态内部类对象:Outero=newouter();Outer.Inneri=o.newInner();创建静态内部类对象:Outer.Inneri=newOuter.Inner();内部类访问外部类同名成员时用Outer.this访问。,8.6.1非静态内部类,classOuterinta;classInnerinta;publicvoidfun1()a+;intb=Outer.this.a;publicvoidfun()Inneri=newInner();i.fun1();publicstaticvoidmain(Stringargs)Outero=newOuter();Outer.Inneri=o.newInner();i.fun1();,方法中的内部类严格按书中的使用要点去做;方法中的内部类作用范围只在方法中;方法中的内部类只能访问方法中的常量,不能访问方法中的变量。外部实际
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古工业大学招聘博士学位事业编制人员20人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘模拟试卷及答案详解(网校专用)
- 2025福建省康辉国际旅行社股份有限公司招聘5人模拟试卷及答案详解(历年真题)
- 2025年东莞市市级机关公开遴选考试真题
- 2025年度郑州工程技术学院招聘高层次人才81名考前自测高频考点模拟试题有答案详解
- 商会年会发言稿范文
- 变更劳动合同(15篇)
- 医生试用期满工作总结
- 2025年菏泽牡丹区区直事业单位公开引进高层次急需紧缺人才(25人)模拟试卷参考答案详解
- 2025广东省江门市蓬江区教师招聘23人考前自测高频考点模拟试题及答案详解1套
- 压力容器定期检验规则(3次修订后完整全文)
- 幼儿园一等奖公开课:大班绘本《爱书的孩子》课件
- 第8课 欧美主要国家的资产阶级革命与资本主义制度的确立(新教材课件)-【中职专用】《世界历史》(高教版2023•基础模块)
- 超星尔雅学习通《园林艺术概论(北京林业大学)》2024章节测试答案
- 招标代理服务服务方案
- 人力资源管理与开发公开课
- 第12课《身体“红绿灯”》课件
- 好妈妈胜过好老师
- 当那一天来临简谱合唱乐谱
- 高中英语- 选择性必修一 Unite 3 Theme Parks教学课件设计
- 急性心肌梗死护理PPT
评论
0/150
提交评论