如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第五章面向对象编程类构造方法对象Java中的特殊变量抽象类接口内部类编程语言的几个发展阶段面向机器语言(如汇编语言)面向过程语言(如c语言,Fortrans语言等)把代码组成叫做过程或函数的块。每个块的目标是完成某个任务面向对象编程卡车、公共汽车、轿车等都会涉及几个重要的物理量:人数、运行速度、发动机功率、耗油量、轮子数目等。几个重要的功能:加速、减速、刹车、转弯等,可以把这些功能称作是具有的方法,而物理量是状态描述。仅仅用物理量或功能不能很好的描述它们。用这些共有的属性和功能给出一个概念:机动车类。一个具体的轿车就是机动车类的一个实例(对象)。OOP是符合真实世界的编程方法抽象是OOP(面向对象编程)的基本手段,必须将具有共性的对象进行抽象,提取它的共性和行为,然后进行语言描述,这就是类类是真实对象的软件抽象描述例如:白狗、黑狗、花狗都可以抽象为狗类类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板类的实现包括两部分:类声明和类体。基本格式为:类的声明部分class类名{…类体的内容……类体部分}类类的格式:[访问修饰符]class类名[extends父类名][implements接口名]{类体}–例:publicclassmyAextendsmyBimplementsActionListener{…}–即类的实现包括两部分:类的声明和类体类体由两部分构成:变量定义和方法的定义–例:classpeople{floatweight,height;//变量定义部分floatf(floatx,floaty)//方法定义部分{weight=x;height=y;return(x+y);}}–变量分为:成员变量和方法的局部变量,当成员变量和局部变量名字相同时,在方法内,成员变量被隐藏,用this关键字访问成员变量–方法定义分为:方法声明及方法体两部分–方法格式:[访问修饰符][其它修饰]返回类型方法名(参数,..){…}构造方法(constructor)•构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型(举例)•在创建类对象时,构造器会自动匹配到new操作符中的参数•构造器不能被继承•如果没有给类提供构造器,那么编译器会自动提供没有参数的默认构造器,访问权限是public,如果你提供了一个构造器,那么该默认构造器会不存在例:publicclassmyTest{publicmyTest(可以带参数){….}}构造方法(constructor)•构造器可以重载,提供带有不同参数的构造器这是编程过程中经常出现的。一个构造器可以通过this(arguments)调用另外一个构造器。如果发生这种调用,那么调用一定是在函数体的第一条语句•编译器靠自动提供super()方法访问父类构造器来实现类的逐级实例化的。如果你提供了super构造器,那么默认的super()构造器会不存在。并且super(arguments)只能是第一条语句•super不能层层访问,即只能访问上一层父类,super.super.variable是错误的对象类是创建对象的模板,当用一个类创建对象时,也可以说给出了该类的一个实例创建对象:包括对象声明和分配内存两个步骤–声明对象:类的名字对象名字;如:Peopleliming;–分配内存:使用new运算符和类的构造方法为对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法如:liming=newPeople();使用对象:使用变量和调用方法–使用“.”运算符来引用变量及调用方法–例:liming.Weight=65.8;liming.speak(“Hello,I’mliming!”);注意:对象是引用型变量–如:Peoplep1=newPeople();Peoplep2=newPeople();p1=p2;则系统将认为p1与p2是一个对象,在内存上p1消失,只有p2分配内存用new关键字分配内存分配内存的步骤:–为各个成员变量分配内存–返回一个引用给对象,保证各个变量由该对象进行管理举例()0height图a图b0weightzhubajiezhubajienullhead0x23AB6nullhandnullfootnullmouth图4.1内存模型图成员变量和局部变量成员变量和局部变量成员变量:类体中变量定义部分所定义的