- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 面向对象基础 Java语言是一个面向对象的编程语言,对象以类的形式出现。 类是组成Java程序的基本要素,它封装了一类对象的属性和方法。 对象是用类来实现的,因此可以将类认为是用于创建对象的模板,所有的对象都是类的实例。 当编写Java程序时,既可以使用Java系统类库提供的类,也可以使用Java开发人员自己编写的类。 本章主要内容 4.1 类 4.2 对象 4.3 数据成员 4.4 成员方法 4.5 内部类 4.6 Java系统类库 4.1 类 类的概念 类是对对象的抽象和归纳。 在面向对象的编程语言中,类是一个独立的程序单位,是具有相同属性和方法的一组对象的集合。 类的定义 [修饰符] class 类名 [extends 父类名] [implements 类实现的接口列表] { 数据成员 成员方法 } 4.2 对象 类是对象的“模板”,对象是类的实例。 1.声明对象 ,格式如下: 类名 对象名表; 例如: class_name object_one, object_two; 2.建立对象。实际上就是用Java提供的new关键字为对象分配存储空间。格式如下: 对象名=new 构造方法(); 也可以在声明对象的同时建立对象 ,格式如下: 类名 对象名 = new 构造方法 ; 3.初始化对象 初始化对象是指由一个类生成一个对象时,为这个对象确定初始状态,即为它的数据成员赋初始值。初始化对象可以采用两种方式,即由赋值语句赋值或由构造方法赋值。构造方法是Java提供的专用的初始化对象的方法,该方法在后面介绍。 使用对象 当一个对象被创建后,我们可以通过引用对象的成员来使用对象,引用方式如下: 对象名.数据成员名 对象名.成员方法名(参数表) 【例4.2】对象的创建与使用示例。 对象的初始化和构造方法 在创建对象时,通常首先要为对象的数据成员赋初始值,这被称为对象的初始化。如果对象的数据成员比较多,则初始化对象就比较麻烦,因为每条语句只能为一个数据成员赋值,在这种情况下,就可以定义一个方法(构造方法)来实现对数据成员的赋值。 构造方法是一个类的方法中方法名与类名相同的类的方法。每当使用new关键字创建一个对象,为新建对象开辟了内存空间之后,Java系统将自动调用构造方法初始化这个新建对象。构造方法是类的一种特殊方法,它的特殊性主要体现在以下几个方面: (1)构造方法的方法名与类名相同。 (2)构造方法是类的方法,它能够简化初始化对象数据成员的操作。 (3)不能对构造方法指定类型,它有隐含的返回值,该值由系统内部使用。 (4)构造方法一般不能由编程人员显式地直接调用,在创建一个类的对象的同时,系统会自动调用该类的构造方法将新对象初始化。 (5)构造方法可以重载,即可定义多个具有不同参数的构造方法。 (6)构造方法可以继承,即子类可以继承父类的构造方法。 (7)如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个缺省的空构造方法。这个空构造方法没有形式参数,也没有任何具体语句,不能完成任何操作。但在创建一个类的新对象时,系统要调用该类的构造方法将新对象初始化。 【例4.3】构造方法定义示例。 4.3 数据成员 数据成员也称为成员变量或变量,它是用来描述类中静态特征的变量。 数据成员的声明 格式如下: [修饰符] 数据成员类型 数据成员名表; (1)修饰符是可选的,它是指访问权限修饰符public、private、protected和非访问权限修饰符static、final、transient和volatile等。 (2)数据成员类型就是诸如int、float等Java允许的各种定义数据类型的关键字。 (3)数据成员名表是指一个或多个数据成员名,即用户自定义标识符,当同时声明多个数据成员名时,彼此间用逗号分隔。 static修饰的静态数据成员 用static修饰符修饰的数据成员不是属于任何一个类的具体对象,而是属于类的静态数据成员。 1.静态数据成员的特点 (1)它被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中。因此,一个类的任何对象访问它时,存取到的都是相同的数值。 (2)既可以通过对象名来访问,也可以通过类名直接访问它。 (3)static类数据成员仍属于类的作用域,还可以使用public static、private static等进行修饰。修饰符不同,可访问的层次也不同。 【例4.4】静态数据成员示例。 2.静态数据成员的初始化 静态数据成员的初始化可以由用户在定义时进行,也可以由静态初始化器来完成。静态初始化器是由关键字static引导的一对花括号括起的语句块,其作用是在加载类时,初始化类的静态数据成员。静态初始化器与构造方法不
文档评论(0)