与源代码课程第04章object类_第1页
与源代码课程第04章object类_第2页
与源代码课程第04章object类_第3页
与源代码课程第04章object类_第4页
与源代码课程第04章object类_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

李兴华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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论