- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L/O/G/O 第7章 Java 语言类的特性 * 类的私有成员与公共成员 方法的重载 构造方法 类的静态成员 对象的应用 本章主要内容 * 7.1 类的私有成员与公共成员 7.1.1 私有成员 类的成员声明前加上私有访问控制符private,则成员只能被该类自身访问和修改,而不能被其他类(包括该类的子类)访问。 达到了对数据最高级别保护的目的。 见教材例7.1 * 7.1 类的私有成员与公共成员 7.1.2 公共成员 类的成员声明前加上公共访问控制符public,则表示该成员可以被其他类所访问。 造成安全性和数据封装性的下降,所以一般减少该成员的使用。 见教材例7.2 通过公共成员方法SetCylinder(),私有成员radius和height才能得到修改。在公共成员方法内添加判断代码,可以杜绝错误数据的输入。 * 7.1 类的私有成员与公共成员 7.1.3 缺省访问控制符 若在类成员的前面不加任何访问控制符,则该成员具有缺省的访问控制特性。 缺省访问控制权,表示这个成员只能被同一个包(类库)中的类所访问和调用,如果一个子类与父类位于不同的包中,子类也不能访问父类中的缺省访问控制成员,也就是说其他包中的任何类都不能访问缺省访问控制成员。 同理,对于类来说,如果一个类没有访问控制符,说明它具有缺省访问控制特性 * 7.2 方法的重载 方法的重载是实现“多态”的方法之一。 方法的重载是指方法带有不同的参数,但使用相同的名字。 方法的参数不同则表示实现不同的功能,但功能相似。 所谓参数不同是指:参数个数不同、参数类型不同、参数的顺序不同。参数的名字不同不能说明是方法的重载。 Java中不允许参数个数或参数类型完全相同,而只有返回值类型不同的重载。 见教材例7.3 * int add(int x, int y); int add(int x, int y, int z); float add(float f1, float f2); float add(float f1, int y); float add(int y, float f1); float add(int x, int y); int add(int u, int v); 7.3 构造方法 7.3.1 构造方法的作用与定义 构造方法(constructor)是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法。 构造方法的方法名与类名相同。 构造方法没有返回值,也不能有void。 构造方法的主要作用是对类对象的初始化工作。 构造方法一般不能由编程人员显式地直接调用,而是用new来调用。 在创建一个类的对象的同时,系统会自动调用该类的构造方法为新的对象初始化。 可带参数,还可以完成赋值之外的其他复杂操作。 * 见教材例7.4 不含返回值的概念 不同于void,因为构造方法的返回值就是该类本身。 7.3 构造方法 7.3.2 默认的构造方法 如果省略构造方法,Java编译器会自动为该类生成一个默认的构造方法,程序在创建对象时会自动调用默认的构造方法。 默认的构造方法没有参数,在其方法体中也没有任何代码,即什么也不做。 若class前面有public修饰符,则默认的构造方法前面也是public。 一旦用户为某类定义了构造方法,系统就不再提供默认的构造方法,这是Java的覆盖所致。 * 7.3 构造方法 7.3.3 构造方法的重载 构造方法的重载,让用户用不同的参数来构造初始化对象。 见教材例7.5 * 7.3 构造方法 7.3.4 从一个构造方法调用另一个构造方法 缩短程序代码,减少开发程序时间。 从某一构造方法内调用另一构造方法,必须通过关键字this来调用的,否则编译出错。 this关键字必须写在构造方法内的第一行位置。 见教材例7.6 * 7.3 构造方法 7.3.5 公共构造方法与私有构造方法 构造方法一般都是public,因为它们在创建对象时,是在类的外部被系统自动调用的。 构造函数若被声明为private,则无法在构造方法所在的类以外的地方被调用,但在该类的内部还是可以被调用。 见教材例7.7 * 7.4 静态成员 7.4.1 实例成员 在类定义中如果成员变量或成员方法没有用static来修饰,则该成员就是实例成员。被static修饰的成员称为类成员。 如在例7.5的主方法main()中分别用new运算符产生两个新的对象volu1和volu2。这两个对象都各自拥有自己保存自己成员的存储空间,而不与其他对象共享。(见教材图7.1) 若修改了volu1的某个成员变量的值,而volu2的成员变量不受影响。这样的成员变量称为实例变量。 * 7.4 静态成员 7.4.2 静态变量 用static修饰的成员变量称为“静态变量”,静态变量也称为类变量。
文档评论(0)