【教学】第3章 使用类和对象编程ppt课件_第1页
【教学】第3章 使用类和对象编程ppt课件_第2页
【教学】第3章 使用类和对象编程ppt课件_第3页
【教学】第3章 使用类和对象编程ppt课件_第4页
【教学】第3章 使用类和对象编程ppt课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、AVCEITAVCEITv1.创建类创建类v2.成员变量与方法成员变量与方法v3.对象对象v4.静态变量和静态方法静态变量和静态方法v5.再谈方法再谈方法v6.内部类内部类v7.实例实例AVCEIT3.1 创建类创建类classv1.含义:含义:v类是组成类是组成Java程序的根本元素,它封装了一系列的程序的根本元素,它封装了一系列的变量即数据成员,也称为变量即数据成员,也称为“域域field和方和方法即成员方法法即成员方法 method,是一类对象的原型。,是一类对象的原型。v类是对象的高度笼统,是同类对象公共属性的笼统类是对象的高度笼统,是同类对象公共属性的笼统v创建一个新的类,就是创建一

2、个新的数据类型。实创建一个新的类,就是创建一个新的数据类型。实例化一个类,就得到一个对象。因此,对象就是一例化一个类,就得到一个对象。因此,对象就是一组变量和相关方法的集合,其中变量阐明对象的形组变量和相关方法的集合,其中变量阐明对象的形状、属性,方法阐明对象所具有的行为。状、属性,方法阐明对象所具有的行为。AVCEITv2. 类定义类定义v对一个用户自定义的类,要为类取一个名字,对一个用户自定义的类,要为类取一个名字,并指明类中包含哪些变量和方法以及相应的并指明类中包含哪些变量和方法以及相应的类型、实现等,这称为类的定义。类定义语类型、实现等,这称为类的定义。类定义语句的普通方式为:句的普通

3、方式为:v 修饰符修饰符class 类名类名 extends 父类父类名名v implements 接口名表接口名表 v 成员变量声明成员变量声明 / 类体类体v 方法成员声明方法成员声明v v其中其中class、extends和和implements都是都是Java的关键字。的关键字。extends(表示承继表示承继)和和implements(表示接口表示接口)等内容,以后逐渐等内容,以后逐渐引见。引见。v修饰符修饰符:public公有类、公有类、abstract笼统类、笼统类、final终类终类AVCEITv 类定义:类定义:v 类名:运用类名:运用Java言语合法的标识符来对自定义的类命

4、名。言语合法的标识符来对自定义的类命名。v 类体:在大括号中定义该类中包含的数据成员和成员方法。类体:在大括号中定义该类中包含的数据成员和成员方法。v 允许定义没有任何成员的空类。允许定义没有任何成员的空类。v 【例【例3.1】定义一个计算三角形周长和面积的类。】定义一个计算三角形周长和面积的类。v AVCEIT3.2 成员变量与方法成员变量与方法v 1.成员变量的定义成员变量的定义v 成员变量位于类体内成员方法外的变量;成员变量位于类体内成员方法外的变量;v 方法变量位于方法体内的变量。方法变量位于方法体内的变量。v 定义方式:定义方式:访问权限符访问权限符staticfinal类型类型 变

5、量变量名名1,变量名,变量名2,v 访问权限符访问权限符:public(公有公有)、protected (维护维护)、 private (私有私有)v 2.成员变量的初始化成员变量的初始化v (1)默许值默许值 (2)定义指定定义指定例例.2v 3.成员方法的创建成员方法的创建v 定义方式:定义方式:v 修饰符修饰符staticfinal前往值类型前往值类型 方法名方法名()v 方法体方法体v AVCEITv4.方法的调用方法的调用v (1)格式格式: 对象名对象名.方法名方法名();v 或或: 对象名对象名.方法名方法名(实参实参1,实参实参2,);v (2)例例3.3v5.成员变量和方法的

6、两种方式成员变量和方法的两种方式v (1)实例变量与实例方法实例变量与实例方法:v 对象名对象名.成员变量成员变量, 对象名对象名.方法名方法名();v (2)类变量与类方法类变量与类方法:v 用用static修饰修饰,类名类名.方法名方法名()或对象名或对象名.方法名方法名();AVCEITv3.3 类对象类对象v一旦定义了所需的类,就可以创建该类的变量,创一旦定义了所需的类,就可以创建该类的变量,创建类的变量称为类的实例化,类的变量也称为类对建类的变量称为类的实例化,类的变量也称为类对象、类的实例等。象、类的实例等。v类的对象是在程序运转中创建生成的,其所占的空类的对象是在程序运转中创建生

7、成的,其所占的空间在程序运转中动态分配。当一个类的对象完成了间在程序运转中动态分配。当一个类的对象完成了它的使命,为节省资源,它的使命,为节省资源,Java的渣滓搜集程序就会的渣滓搜集程序就会自动收回这个对象所占的空间。即类对象有本人的自动收回这个对象所占的空间。即类对象有本人的生命周期。生命周期。v1.创建对象创建对象v创建类的对象需用创建类的对象需用new运算符,普通方式为:运算符,普通方式为:v 类名类名 对象名对象名 = new 类名类名(参数参数1,参数,参数2,);v或者或者 类名类名 对象名对象名; v 对象名对象名 = new 类名类名(参数参数1,参数,参数2,);AVCEI

8、Tv newnew运算符用指定的类在内存中分配空间,并将存储空间的援运算符用指定的类在内存中分配空间,并将存储空间的援用存入语句中的对象变量。用存入语句中的对象变量。v 2.2.援用对象援用对象v 在创建了类的对象后,就可以对对象的各个成员进展访问,在创建了类的对象后,就可以对对象的各个成员进展访问,进展各种处置。运算符进展各种处置。运算符“.“.在这里称为成员运算符,在对象在这里称为成员运算符,在对象名和成员名名和成员名) )之间起到衔接的作用,指明是哪个对象的哪个成之间起到衔接的作用,指明是哪个对象的哪个成员。员。v 访问对象成员的普通方式为:访问对象成员的普通方式为:v 对象名对象名.

9、.数据成员名数据成员名v 对象名对象名. .成员方法名成员方法名() / () / 方法名带圆括号方法名带圆括号v 3.3.渣滓回收渣滓回收(Garbage collection)(Garbage collection)v Java Java虚拟机提供了一个系统级渣滓回收线程,担任自动回虚拟机提供了一个系统级渣滓回收线程,担任自动回收无用对象所占内存,这种机制称为渣滓回收。收无用对象所占内存,这种机制称为渣滓回收。v 终级器终级器finalize().finalize().AVCEITv3.4 3.4 静态变量和静态方法静态变量和静态方法(static(static修饰符修饰符) )v 运用运

10、用staticstatic修饰符来修饰类的成员变量和方法成修饰符来修饰类的成员变量和方法成员,使它们成为静态成员,也称为类成员。静态成员,使它们成为静态成员,也称为类成员。静态成员存储于类的存储区,属于整个类,而不属于一个员存储于类的存储区,属于整个类,而不属于一个详细的类对象。由于静态成员属于整个类,所以它详细的类对象。由于静态成员属于整个类,所以它被一切该类对象共享。在不同的类对象中访问静态被一切该类对象共享。在不同的类对象中访问静态成员,访问的是同一个。成员,访问的是同一个。v两点留意:两点留意:v(1)(1)静态方法不能访问属于某个对象的成员变量,而静态方法不能访问属于某个对象的成员变

11、量,而只能处置属于整个类的成员变量。即静态方法只能只能处置属于整个类的成员变量。即静态方法只能处置静态变量。处置静态变量。v(2)(2)可以用两种方式调用静态成员,它们的作用一样。可以用两种方式调用静态成员,它们的作用一样。v 变量:类名变量:类名. .变量、类对象变量、类对象. .变量。变量。v 方法:类名方法:类名. .方法名方法名()()、类对象、类对象. .方法名方法名()()。AVCEITv【例【例3.43.4】P54P54v 例如例如 静态成员的运用。静态成员的运用。v class StaticDemo class StaticDemo v static int a = 42; s

12、tatic int a = 42;v static int b = 99; static int b = 99;v static void callme() static void callme() v System.out.println(a = + a); System.out.println(a = + a);v v v class StaticByName class StaticByName v public static void main(String public static void main(String args) args) v StaticDemo.callme()

13、; StaticDemo.callme(); v System.out.println(b = + System.out.println(b = + StaticDemo.b);StaticDemo.b);v v AVCEITv3.5 再谈方法再谈方法v1.重载方法重载方法v (1)含义含义:名字一样名字一样,但参数和前往值不同但参数和前往值不同的多个方法叫方法的重载的多个方法叫方法的重载.v (2)留意留意:必需是参数不同必需是参数不同.AVCEITv2.构造方法构造方法v在在Java中,任何变量在被运用前都必需先设置初值。中,任何变量在被运用前都必需先设置初值。Java提供了为类的成员变量

14、赋初值的专门功能:构提供了为类的成员变量赋初值的专门功能:构造方法造方法constructor。构造方法是一种特殊的。构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:成员方法,它的特殊性反映在如下几个方面:v(1)构造方法名与类名一样。构造方法名与类名一样。v(2)构造方法不前往任何值,也没有前往类型。构造方法不前往任何值,也没有前往类型。v(3)每一个类可以有零个或多个构造方法。每一个类可以有零个或多个构造方法。v(4)构造方法在创建对象时自动执行,普通不能显式构造方法在创建对象时自动执行,普通不能显式地直接调用。地直接调用。v例例3.53.6P57-58AVCEITv3.6 内

15、部类内部类v多个类的两种定义方式:并列和嵌套。多个类的两种定义方式:并列和嵌套。v1.并列定义并列定义:即一个类接着一个类进展定义,即一个类接着一个类进展定义,它们之间是并列的关系。它们之间是并列的关系。v2.嵌套定义嵌套定义(内部类内部类):即在一个类中定义另外即在一个类中定义另外的类,它们之间是包含和被包含的关系,可的类,它们之间是包含和被包含的关系,可分别称为包含类和内部类或嵌套类。采分别称为包含类和内部类或嵌套类。采用何种方式定义多个类,由类之间的访问关用何种方式定义多个类,由类之间的访问关系确定。系确定。v3.内部类阐明内部类阐明:v (1)内部类内部类(InClass)与顶层类与顶

16、层类(OutClass)v (2)内部类为类成员内部类为类成员,援用方法有援用方法有OutClass对象对象. InClass或或OutClass. InClassv (3)匿名内部类匿名内部类,直接内部类的对象直接内部类的对象.AVCEITv 内部类的称号不能与所嵌套的类一样,而且只能在定义的范内部类的称号不能与所嵌套的类一样,而且只能在定义的范围中运用。内部类具有下面一些特性:围中运用。内部类具有下面一些特性:v (1)内部类可以被定义在方法中。它可以访问嵌套类的方法内部类可以被定义在方法中。它可以访问嵌套类的方法的的final变量。变量。v (2)内部类可以运用所嵌套类的类变量和实例变量以及所嵌内部类可以运用所嵌套类的类变量和实例变量以及所嵌套的块中的本地变量。套的块中的本地变量。v (3)内部类可以被定义为内部类可以被定义为abstract笼统类。笼统类。v (4)内部类可以被声明为内部类可以被声明为private或或protected,以便防护,以便防护它们不受来自外部类的访问。访问维护不阻止内部类运用其它们不受来自外部类的访问。访问维护不阻止内部类运用其他类的任何成员。他类的任何成员。 v (5)一个内部类可以作为一个接口,由另一个内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论