Java程序设计第2版第七章

发布时间:2024-11-18

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

第7章 Java类的特性

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

通过本章的学习,主要掌握以下知识点:类的私有成员与公共成员

方法的重载构造方法

实例成员与静态成员

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

本章的重点: 方法的重载

构造方法本章的难点:

静态成员

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.1 类的私有成员与公共成员在第6章的例子中,可以看到类的成员变量pi、

radius和height可以在类Cylinder的外部任意修改。这虽然方便了程序员灵活的使用,但也存在弊端。

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.1.1 私有成员如果没有一个机制来限制对类中成员的访问, 则很可能会造成错误的输入。为了防止这种情况

的发生,Java提供了私有成员访问控制修饰符private。 下面来举例说明。

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

【例7.1】在圆柱体类Cylinder中,创建类的 私有成员,使之在该类的外部无法访问该成员。//app7_1.java 定义私有成员,使之无法在类外被访问 class Cylinder //定义Cylinder类 { private double radius; //将数据成员radius声明为私有的 private int height; //将数据成员height声明为私有的 private double pi=3.14; //将数据成员pi声明为私有的,并赋初值 double area() { return pi* radius* radius; //在Cylinder类内部,故可访问私有成员 } double volume() { return area()*height; //在类内可以访问私有成员height } }2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

【例7.1】续public class app7_1 //定义公共主类 { public static void main(String args[ ]) { Cylinder volu; volu=new Cylinder(); volu.radius=2.8; //错误!在类的外部,不能直接访问私有成员。 volu.height=-5; //错误!在类的外部,不能直接访问私有成员。 System.out.println("底圆半径="+volu.radius); System.out.println("圆柱的高="+volu.height); System.out.print("圆柱"); System.out.println(“底面积=”+volu.area()); //正确! System.out.println("圆柱体体积="+volu.volume()); //正确! } }2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.1.2 公共成员如果在类的成员声明的前面加上修饰符public,

则表示该成员可以被所有其他的类所访问。由于public修饰符会造成安全性和数据封装性的下降,所

以一般应减少公共成员的使用。下面举例说明如何利用公共方法来访问私有成员变量。

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

【例7.2】创建圆柱体类Cylinder的公共成员 方法,来访问类内的私有成员变量 。//app7_2.java 定义公共方法来访问私有成员 class Cylinder { private double radius; //声明私有数据成员 private int height; private double pi=3.14; public void SetCylinder(double r, int h) //声明具有2个参数的公共方法 { //用于对私有数据进行访问 if (r>0&& h>0) { radius=r; height=h; } else System.out.println(“您的数据有错误!!”); }2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

double area() 【例7.2】续 { return pi* radius* radius; //在类内可以访问私有成员radius和pi } double volume() { return area()*height; //在类内可以访问私有成

员height }} public class app7_2 //定义公共主类 { public static void main(String args[ ]) { Cylinder volu=new Cylinder(); volu.SetCylinder(2.5, -5); //通过公共方法SetCylinder()访问私有数据 System.out.println("圆柱底面积="+volu.area()); System.out.println("圆柱体体积="+volu.volume()); } }2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

【例7.2】续程序运行结果如下: 您的数据有错误!! 圆柱底面积=0.0 圆柱体体积=0.0

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.1.3 友元若在类成员的前面加上访问控制符friendly, 说明该成员是友元。友元访问控制符可以省略。也 就是说在类内声明类成员时,不加任何访问控制修 饰符,则该成员是一个友元。一个成员被声明为友 元,表示这个成员只能被同一个包中的类所访问, 但其他包中的类不能访问该成员。 同理,对于类来说,如果一个类没有访问控制 符,说明它具有缺省访问控制特性。这种缺省的访 问控制权规定只能被同一个包中的类访问和引用, 而不可以被其他包中的类所使用。2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.2 方法的重载方法的重载是实现“多态”的一种方法。在 面向对象的程序设计语言中,有一些方法的含义相

同,但带有不同的参数,这些方法使用相同的名字,这就叫方法的重载(Overloading)。也就是说,重载 是指相同的方法名称,如果参数个数不同,或者是 参数个数相同,但类型不同,则方法就具有不同的 功能。

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

注意:方法的重载中参数的类型是关 键,仅仅是参数的变量名不同是不行的。 也就是说参数的列表必须不同,即:或 者参数个数不同,或者参数类型不同, 或者参数的顺序不同。

方法的重载的应用见教材【例7.3】

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.3 构造方法前面所介绍的由Cylinder类所创建的对象, 其成员变量都是在对象建立之后,再由相应的方

法来赋值。如果一个对象在被创建时就完成了所有的初始化工作,将会很简洁。因此Java在类里 提供了一个特殊的成员方法――构造方法。

2012-9-8

通过本章的学习,主要掌握以下知识点: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员

7.3.1 构造方法的作用与定义构造方法(constructor)是一种特殊的方法,它 是在对象被创建时初始化对象的成员的方法。构造

方法的名称必须与它所在的类名完全相同。

2012-9-8

Java程序设计第2版第七章.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219