欢迎来到天天文库
浏览记录
ID:27546974
大小:1.71 MB
页数:120页
时间:2018-12-03
《java面向对象程序设计(面向对象与异常)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章面向对象(上)什么是抽象类与对象及其关系类中定义的属性(域)与方法(操作)对象构造方法类成员属性和方法的其它修饰符包(Package)主要内容什么是抽象抽象的定义抽象(abstraction)是从被研究对象中舍弃个别的、非本质的、或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对研究问题正确的简明扼要的认识。动物经过人类抽象用一个叫”动物”的类来概括类与对象及其关系类与对象及其关系对象是对客观事物的抽象。类是对对象的抽象,在语言中是一种抽象的数据类型。类的定义在Java中可简述为class类名{}它们的关系是,对象是类的实例,类是对象的模板。类中定义
2、的属性与方法类中定义的属性(域)与方法(操作)类和对象都有属性和操作,属性是事物静态特征的抽象,操作是事物动态特征的抽象。classFighterPlane{Stringname;intmissileNum;voidfire(){if(missileNum>0){missileNum-=1;System.out.println(“nowfireamissile!”);}else{System.out.println(“Nomissileleft!”);}}}类的属性或称为“域”类的方法类中的域变量和方法存在以下关系类中定义的域变量可以被类中所有的方法所访问。方法中的形式参数和
3、定义的局部变量的作用域仅限于方法,局部变量在使用前必须进行赋值初始化。如果局部变量和类中的属性变量重名,则在方法中对同名变量改变的是局部变量。类中定义的方法可以进行递归调用【例4.2】对象对象的产生NEW类对象对象的产生使用的代码:newFighterPlane();对象的声明使用的代码:FighterPlanefp;NEW类对象可以声明后立即赋予对象:FighterPlanefp=newFighterPlane()对象内存空间分布对象作为参数的特点普通数据类型作为参数传递是值传递,而对象是引用传递。publicclassX{privatestaticinta;publics
4、taticvoidmain(String[]args){modify(a);System.out.println(a);}publicstaticvoidmodify(inta){a++;}}本程序的输出为0,因为a++是对形式参数进行自增,而不是对象属性a进行自增。对象的引用传递举例classIntClass{intvalue;}publicclassRunIntClass{publicstaticvoidmodifyValue(IntClasss,intval){s.value=val;}publicstaticvoidmain(Stringargs[]){IntClas
5、sa=newIntClass();modifyValue(a,8);System.out.println(a.value);}}a对象s对象是引用传递,当对象作为参数传递时,传递的是对象的地址classIntClass{intvalue;}publicclassRunIntClass{publicstaticIntClassgetInstance(){//在方法中产生对象IntClasss=newIntClass();s.value=8;returns;//引用返回}publicstaticvoidmain(Stringargs[]){//调用环境中去使用IntClassa=
6、getInstance();System.out.println(a.value);}}对象as对象数组数组对象特点及常用方法构造方法构造方法的概念,【例4.8】构造方法的特征,【例4.9】、【4.10】构造方法的注意事项finalize方法与垃圾回收什么是垃圾对象?垃圾对象何时回收?垃圾对象回收时调用finalize方法。类成员属性和方法的其它修饰符static用static修饰符修饰的数据成员是不属于任何一个类的具体对象,而是属于类的静态数据成员。它被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中。因此,一个类的任何对象访问它时,存取到的都是相同的数值。
7、访问方式为通过类名加点操作符来访问,也可通过对象引用来访问。Static修饰的方法有如下特点:static方法是类方法,但可以被所有对象所访问,引用这个方法时,可以使用对象名做前缀,也可以使用类名做前缀。static方法内部的代码,只能访问类中的static属性或方法,不能访问类中的非static属性或方法(因为那是对象方法),但非static方法(对象方法)可以访问static数据成员。main方法是特殊的静态方法,是Application程序入口点,必须写成publicstaticvoidmain(
此文档下载收益归作者所有