版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
李兴华Java培训系列课程Object类本章学习目标掌握继承性的主要作用、实现、使用限制;掌握方法覆写的操作;掌握final关键字的使用;掌握对象多态性的概念以及对象转型的操作;掌握抽象类和接口的定义、使用、常见设计模式;掌握Object类的主要特点及实际应用;掌握匿名内部类的使用;掌握基本数据类型包装类的使用。Object类的基本定义Object类是所有类的父类,也就是说任何一个类在定义的时候如果没有明确的继承一个父类的话,那么它就是Object类的子类,也就是说以下两种类定义的最终效果是完全相同的:classBook{}classBookextendsObject{}范例:利用Object类来接收对象classBookextendsObject{}public
classTestDemo{
public
static
voidmain(Stringargs[]){ Objectobja=newBook();//向上转型,接收Book子类对象 Objectobjb="hello"; //向上转型,接收String子类对象 Bookb=(Book)obja; //测试向下转型 Strings=(String)objb; //测试向下转型 }}Object类的部分方法No.方法类型描述1publicStringtoString()普通取得对象信息2publicbooleanequals(Objectobj)普通对象比较4publicinthashCode()普通取得对象哈希码,在第14章之中会有所讲解取得对象信息:toString()classBook{ //此类为Object子类
privateStringtitle;
private
double
price;
publicBook(Stringtitle,double
price){
this.title=title;
this.price=price; }
publicStringtoString(){ //替代了getInfo(),并且toString()可以自动调用
return
"书名:"+this.title+",价格:"+this.price; }//setter、getter、无参构造略}public
classTestDemo{
public
static
voidmain(Stringargs[]){ Bookb=newBook("Java开发",79.9); //实例化对象 System.out.println(b); //直接输出对象,默认调用toString() }}程序执行结果:书名:Java开发,价格:79.9范例:实现对象比较
public
booleanequals(Objectobj){
if(this==obj){ //地址相同
return
true; }
if(obj==null){ //对象内容为null
return
false; }
if(!(obj
instanceofBook)){ //不是本类实例
return
false; } Bookbook=(Book)obj;
if(this.title.equals(book.title)&&this.price==book.price){
return
true; }
return
false; }Object类与引用数据类型Object是所有类的父类,那么Object类可以接收所有类的对象,但是在Java设计的时候,考虑到引用数据类型的特殊性,所以Object类实际上是可以接收所有引用数据类型的数据,这就包括了数组、接口、类。范例:接收数组数据public
classTestDemo{
public
static
voidmain(Stringargs[]){ Objectobj=new
int[]{1,2,3};//向上转型 System.out.println(obj); //数组编码:[I@1db9742
if(obj
instanceof
int[]){//谁否是int数组
int
data[]=(int[])obj;//向下转型
for(int
x=0;x<data.length;x++){ System.out.print(data[x]+"、"); } } }}程序执行结果:[I@1db9742(“System.out.println(obj);”语句执行结果)1、2、3、范例:Object类接收接口对象interfaceA{ publicvoidfun();}classBextendsObjectimplementsA{ //所有类一定继承Object类,所以此处只是强调说明
publicvoidfun(){ System.out.println("更多课程请访问:"); }
publicStringtoString(){ return"魔乐科技:"; }}publicclassTestDemo{ publicstaticvoidmain(Stringargs[]){ Aa=newB(); //实例化接口对象
Objectobj=a; //接收接口对象
At=(A)obj; //向下转型
t.fun(); //调用接口方法
System.out.println(t); //直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖买卖的合同范本
- 2025企业年金基金托管合同范本
- 2025江苏省建设工程造价咨询合同(示范文本)
- 油罐安全合同范本
- 2025企业管理资料范本福建劳动合同范本
- 2025衢州市衢江区高家镇湖仁村物业用房及厂房租赁合同
- 汽车货物运输合同协议书
- 2025【合同范本】农村土地承包合同
- 2025“谁造谁有”林地使用合同书
- 货物运输合同协议书模板
- 工程造价咨询服务方案(技术方案)
- 整体租赁底商运营方案(技术方案)
- 常用药物作用及副作用课件
- 小学生作文方格纸A4纸直接打印版
- 老人心理特征和沟通技巧
- 幼儿阿拉伯数字描红(0-100)打印版
- 标杆地产集团 研发设计 工程管理 品质地库标准研发成果V1.0
- TMS开发业务需求文档
- 2023年1月浙江高考英语听力试题及答案(含MP3+录音原文)
- HI-IPDV10芯片产品开发流程V10宣课件
- 房产抵押注销申请表
评论
0/150
提交评论