第四章 类、对象和接口_第1页
第四章 类、对象和接口_第2页
第四章 类、对象和接口_第3页
第四章 类、对象和接口_第4页
第四章 类、对象和接口_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章第四章 类、对象和接口类、对象和接口w 4.1 类类 1、定义类、定义类 定义类头定义类头class 类名类名 定义类体定义类体 用一对用一对 包围包围 静态属性(状态或变量或域)静态属性(状态或变量或域) 动态属性(行为或操作或方法)动态属性(行为或操作或方法)2、 创建对象与定义构造函数创建对象与定义构造函数 创建对象创建对象 修饰符修饰符 类名类名 对象名对象名=new构造函数(构造函数();); 例:例:PhoneCard myCard=new PhoneCard(); 访问一个对象的域或方法访问一个对象的域或方法 对象名对象名. 域域 对象名对象名. 方法(方法() 例:例:

2、myCard.balance=50; 构造函数构造函数 方法名(构造函数不名)必须与类名相同方法名(构造函数不名)必须与类名相同 无返回类型(也不能写无返回类型(也不能写void) 任务:初始化对象任务:初始化对象 不能由编程人员显式地直接调用不能由编程人员显式地直接调用 创建对象时由系统自动调用创建对象时由系统自动调用 隐含有缺省的构造函数,用户也可以不自行定义隐含有缺省的构造函数,用户也可以不自行定义 可以重构,以创建不同的对象可以重构,以创建不同的对象w 4.2 类的修饰符类的修饰符非访问控制符非访问控制符访问控制符访问控制符w用于限定所定义类的特征。也可以修饰用于限定所定义类的特征。也

3、可以修饰类中的域或方法类中的域或方法 4.2.1抽象类抽象类 修饰符:修饰符:abstract 核心特征核心特征 是没有具体对象的概念类,即不能定义对象。是没有具体对象的概念类,即不能定义对象。 抽象类的作用抽象类的作用 优化了概念的组织形式优化了概念的组织形式 例:例: 电话卡电话卡 (抽象类)(抽象类) 例:例:abstract class PhoneCard double balance; void performDial() - -磁卡磁卡- IC卡卡- 200卡卡- 4.2.2 最终类最终类 修饰符:修饰符:final 核心特征核心特征 不可以有子类不可以有子类 final类只能是叶

4、结点类只能是叶结点 叶结点不一定是叶结点不一定是final类类 final类的作用类的作用 abstract和和final不能修饰同一个类不能修饰同一个类 abstract和和final可以各自与其它修饰符合用可以各自与其它修饰符合用 例:例:public abstract-w 4.3域域静态域静态域 修饰符修饰符:static 本质特征:本质特征:是类的域(该类内的公共域),是类的域(该类内的公共域),而不属于具体对象而不属于具体对象 注意:类的域和对象的域的区别注意:类的域和对象的域的区别 例:例:class PhoneCard200 static String connect_Numbe

5、r=“200”; static double additoryFree; long CardNumber; int password; - 静态初始化器静态初始化器 static 作用:完成静态初始化,非静态域由构造函数负作用:完成静态初始化,非静态域由构造函数负责其初始化责其初始化 特点:特点: 在该类加载入内存时,系统自动处理在该类加载入内存时,系统自动处理 不是方法,既无方法名,也无参数和返回值不是方法,既无方法名,也无参数和返回值 最终域最终域 用标识符标识的常量(域)用标识符标识的常量(域) 例:例: final String connectNumber=“200”; final后需

6、跟欲说明变量的数据类型后需跟欲说明变量的数据类型 必须在必须在final中支出常量的具体取值中支出常量的具体取值 常用常用 static final -的配合形式,使其成为类常量的配合形式,使其成为类常量域,以节省空间域,以节省空间易失域易失域 修饰符:修饰符:volatile 作用:接受外部输入的域作用:接受外部输入的域 安全:可能同时被几个线程所控制和修改安全:可能同时被几个线程所控制和修改 w 4.4方法方法一般形式一般形式 修饰符修饰符类型类型 方法名(形参表)方法名(形参表)throw 异常列异常列表表抽象方法抽象方法 由由abstract修饰的,仅有方法头而无方法体的方修饰的,仅有

7、方法头而无方法体的方法法 例:例:abstract void performDial( ); 不允许非抽象类中包含抽象方法不允许非抽象类中包含抽象方法 方法的具体实现由其子孙类完成方法的具体实现由其子孙类完成 目的:统一接口(同一功能),统一命名目的:统一接口(同一功能),统一命名 在子孙类的实现是各不相同的在子孙类的实现是各不相同的 静态方法静态方法 调用时需用类名作前缀,而不可用对象名前缀调用时需用类名作前缀,而不可用对象名前缀 随该类的定义而分配空间和装载随该类的定义而分配空间和装载 只限定处理同属该类的只限定处理同属该类的static域域最终方法最终方法 用用final修饰的方法修饰的

8、方法 不能更改(不能重载,只能继承)不能更改(不能重载,只能继承) 用用private限定的方法必为最终方法限定的方法必为最终方法本地方法本地方法 修饰符:修饰符:native 所有的所有的native方法,均无方法体方法,均无方法体 仅声明用其它语言写的特殊方法仅声明用其它语言写的特殊方法 跨平台性可能受到限制跨平台性可能受到限制 同步方法同步方法 修饰符:修饰符:synchronized 当与当与static联用时,对当前类的对象加锁联用时,对当前类的对象加锁 作用:多线程间的同步作用:多线程间的同步类:显式控制符只有一个,即类:显式控制符只有一个,即public域和方法:有四个,域和方法

9、:有四个,public, private, protected和和 private protected除此之外,还可以使用缺省的访问控制限定除此之外,还可以使用缺省的访问控制限定 以上针对的是类、对象(域和方法)的以上针对的是类、对象(域和方法)的自身控制的限定,还有一类是对其它部分访自身控制的限定,还有一类是对其它部分访问和调用的限定问和调用的限定 w 4.6 4.6 访问控制符访问控制符缺省访问控制符缺省访问控制符 包:相关(似)类的松散集合。用户定义在同一包:相关(似)类的松散集合。用户定义在同一个程序中的所有类属于同一个包个程序中的所有类属于同一个包 缺省访问控制符:具有包访问权限,类

10、、域、方缺省访问控制符:具有包访问权限,类、域、方法对此是相同的法对此是相同的公有访问控制符(公有访问控制符(public)public) publicpublic类:整体可见和可用,但并不意味其内的类:整体可见和可用,但并不意味其内的域和方法也是域和方法也是public public 的的 publicpublic域域: :公共域,可以被所有类引用,尽量少公共域,可以被所有类引用,尽量少用用 publicpublic方法方法 ():():类的对外接口类的对外接口JavaJava类库中的方法,均为类库中的方法,均为publicpublic方法方法JavaJava程序的主类是程序的主类是publ

11、icpublic类类 w 保护访问控制保护访问控制符符(protected)(protected)自身类自身类同一个包中的其它类同一个包中的其它类其它包中的该类的子类其它包中的该类的子类w 私有访问控制符(私有访问控制符(private)private)最高保护级别,限定自身类的访问权限最高保护级别,限定自身类的访问权限变量(域)有必要考虑定义为私有,即对外不可见变量(域)有必要考虑定义为私有,即对外不可见w 私有保护访问控制符(私有保护访问控制符(private protected)private protected)自身类自身类子类子类 类 public 缺省属性与方法 public A

12、B protected B+C B 缺省 B B private protected C+D E+D private D DD:本类:本类C:所有子类所有子类B:包中的类:包中的类E:包:包中子中子类类A4.7 4.7 接口接口接口是用来实现类间多重继承功能的结构接口是用来实现类间多重继承功能的结构. .4.7.1 4.7.1 概述概述 继承分为单继承和多继承继承分为单继承和多继承 单继承由类的层次结构描述单继承由类的层次结构描述 多继承则由接口辅助实现多继承则由接口辅助实现 接口在语法上与类相似,它只定义了若干个抽象接口在语法上与类相似,它只定义了若干个抽象方法和常量域(方法和常量域(abs

13、tract abstract 方法和方法和static final static final 域)域) 接口的具体实现有继承该接口的类完成接口的具体实现有继承该接口的类完成 例:例: ActionListener ActionListener 就是系统定义的接口,表就是系统定义的接口,表示动作事件监听功能,其中仅有的一个抽象方法,示动作事件监听功能,其中仅有的一个抽象方法,必须在继承该接口的类中加以实现,实现描述为:必须在继承该接口的类中加以实现,实现描述为:public void actionPerformed(ActionEvent public void actionPerformed(

14、ActionEvent e)e) w 4.7.2 接口定义接口定义public interface 接口名接口名extends 父接口名表父接口名表public static final 域类型域类型 域名域名=常量值;常量值;public abstract native 类型类型 方法名(形参表)方法名(形参表)throw 理解接口的含义理解接口的含义 P 45 例子例子 9w 在在Java 系统的类库中的接口例系统的类库中的接口例 public interface java.io.DataInput public abstract boolean readBoolean();/读入布尔型数

15、据读入布尔型数据 public abstract byte readByte();/ public abstract char readChar();/ public abstract double readDouble();/ public abstract float readFloat();/ public abstract void readFully(byte b );/ public abstract void readFully(byte b );/ public abstract int readInt();/ public abstract String readLine()

16、;/ public abstract long readLong();/ public abstract short readShort();/ public abstract int readUnsignedByte();/ public abstract String readUTF();/ w4.7.3 4.7.3 实现接口实现接口在类定义头部用在类定义头部用implementsimplements声明该类将实声明该类将实现哪些接口现哪些接口对接口抽象方法的实现,其方法头必须与接对接口抽象方法的实现,其方法头必须与接口中定义的完全相同口中定义的完全相同不允许存在未被实现的接口方法不允许存

17、在未被实现的接口方法w4.7.44.7.4接口的多重继承接口的多重继承interface aaainterface aaa extends A,B,C,D extends A,B,C,D 允许一次继承多个接口允许一次继承多个接口一个类可以实现多个接口一个类可以实现多个接口 interface inter_a viod method_a( ); interface inter_b viod method_b( ); class myclass implements inter_a,inter_b viod method_a( ) viod method_b( ) 第四章小结第四章小结w 类的概念类的概念w 创建对象和构造函数创建对象和构造函数w 静态初始化器静态初始化器w 类的修饰符类的修饰符非访问控制符非访问控制符 类类 Abstract,final 域域 Abstract,final,volatile 方法方法 Abstract,static,final,native,synchronized访问控制符访问控制符 类类 public和缺省两种和缺省两种 域和方法域和方法 public,private,protected,p

温馨提示

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

评论

0/150

提交评论