第7章圆和矩形——类与对象.ppt

上传人:本田雅阁 文档编号:2910805 上传时间:2019-06-04 格式:PPT 页数:25 大小:147.52KB
返回 下载 相关 举报
第7章圆和矩形——类与对象.ppt_第1页
第1页 / 共25页
第7章圆和矩形——类与对象.ppt_第2页
第2页 / 共25页
第7章圆和矩形——类与对象.ppt_第3页
第3页 / 共25页
第7章圆和矩形——类与对象.ppt_第4页
第4页 / 共25页
第7章圆和矩形——类与对象.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《第7章圆和矩形——类与对象.ppt》由会员分享,可在线阅读,更多相关《第7章圆和矩形——类与对象.ppt(25页珍藏版)》请在三一文库上搜索。

1、第7章 圆和矩形类与对象,能力目标: 学会定义类,编写字段、方法和构造方法等,学会使用new构建对象。 学会使用public、private等修饰符。 学会使用关键字static、final声明类成员。 能定义圆类和矩形类,构建对象,并计算它们的面积、周长和个数。,内容介绍,7.1 任务预览 7.2 定义类 7.3 构造方法及其重载 7.4 访问控制修饰符 7.5 静态成员和实例成员 7.6 使用final 7.7 程序举例 7.8 本章小结 7.9 实训7:构建圆和矩形对象,7.1 任务预览,本章实训程序运行结果:,7.2 定义类,【例7-1】定义圆类Circle,把圆的性质和行为用代码块封

2、装起来。 class Circle /圆类 private double radius; /半径字段 private double x, y; /圆心坐标字段 public static final double PI = 3.14159; /圆周率常量字段 public Circle( ) /构造方法1 public Circle(double r) /构造方法2 if (r 0) Sysetm.out.println(“负数不能当圆半径“); else radius = r; ,public double getRadius ( ) return radius; public void s

3、etRadius(double r) throws Exception if (r 0) throw new Exception(“负数不能当圆半 径“); else radius = r; /public static int getNum( ) return num; public double calcArea( ) return PI * radius * radius; public double calcGirth( ) return 2 * PI * radius; Circle.java ,类定义的一般形式,可选public 可选abstract 可选final class 类

4、名 字段、方法等成员以及构造方法 类字段成员一般声明为private,这是类的封装性要求。 类的方法成员一般声明为public。 注意:类允许嵌套定义。,7.3 构造方法及其重载,可选public等 构造方法名( 可选形参表 ) 可选throws子句 方法体语句 例7-1定义的Circle类两个构造方法是: public Circle() /构造方法1 num +; ,public Circle(double r) throws Exception /构造方法2 if (r 0) throw new Exception(“负数不能当圆半径“); else radius = r; num +;

5、,【例7-2】在例7-1基础上,构建若干个圆对象,并计算圆的面积和周长。,Example2.java,7.4 访问控制修饰符,public、protected和private。 类的访问控制方式有两种: 缺省,称为包可访问性; 使用修饰符public 。 注意:类和接口(interface)只能用public修饰,不能用protected或private修饰。,7.4.2 成员修饰符public、protected 和 private,类成员有4个访问级别:,编程风格 推荐采用下面方式命名类及其成员: (1)类名以大写字母开头。如圆类:class Circle . (2)类成员以小写字母开头,

6、如计算面积方法:calcArea (3)常量全部以大写字母命名。如圆周率 PI。,7.5 静态成员和实例成员,用static修饰的成员称为静态成员(静态字段和静态方法)。 如例7-1中,Circle类的静态成员有: private static int num; /圆对象个数 public static final double PI = 3.14159; /圆周率 public static int getNum() return num; 静态成员能被类的所有对象共享。,7.5.1 使用static声明静态成员,使用类名作前缀引用静态成员的一般形式: 类名.方法名(实参表) 类名.字段名,

7、7.5.2 实例成员与关键字this,实例成员(实例字段、实例方法):没有static修饰的成员。 实例成员就是非静态成员。 实例成员为类对象所独占。 使用对象(实例)作前缀引用实例成员,语法形式: 关键字this用于指代当前的对象。因此,类内部可以使用this作前缀引用实例成员。 例如,Circle类中可用this.radius引用实例字段radius。,对象名.方法名(实参表) 对象名.字段名,7.6 使用final,声明符号常量要使用关键字final。例如,声明圆周率PI:public static final double PI=3.14159; 习惯使用大写字母来命名符号常量。 符号

8、常量只能赋值一次。 关键字final既可声明字段,也可声明局部变量。声明字段时通常与static一起使用。 注意:由于圆周率使用广泛,Java系统已在Math(数学)类中定义了。,7.6.1 使用final声明常量,7.6.2 使用final声明方法,关键字final除了声明常量,还可声明方法。 比如Circle类的计算面积方法,可以改为如下定义: public final double calcArea() return PI * radius * radius; 使用final声明的方法就是最终方法,不允许派生子类重写,即不允许更改方法内容。,7.6.3 使用final声明类,final还

9、可声明类,这就是最终类 最终类不能被继承,不能派生子类。 例如:系统类System就是一个最终类,其声明如下: public final class System . ,7.7 程序举例,【例7-3】定义一个儿童类,构建若干个小朋友对象,并输出有关数据。 class Child private String name; private char sex; private int age; private static int num; public Child( ) Child.num+; public Child(String name, char sex, int age) this.na

10、me = name; this.sex = sex; this.age = age; Child.num+; , public static void main(String args) Child child1 = new Child(“露丝“, 女, 4); System.out.printf(“%s小朋友:%c,%d岁n“, child1.getName(), child1.getSex(), child1.getAge(); child1.like(“唱歌、朗诵“); System.out.printf(“= 报数:%d =n“, Child.getNum(); Child child

11、2 = new Child(“张华”, 男, 5); Child child3 = new Child(“佳妮“, 女, 3); System.out.printf(“= 报数:%d =n“, ); ,public void like(String content) public String getName() return name; public void setName(String name) this.name = name; public static int getNum() return num; ,Example3.java,【例7-4】定义一个住房类,构建若干套房子对象,

12、并输出有关数据。,class 住房 private double 面积; private int 房间数 ; private String 朝向; private int 房号; private static int 总套数; public 住房(double 面积, int 房间数, String 朝向, int 房号) this.面积 = 面积; this.房间数 = 房间数; this.朝向 = 朝向; this.房号 = 房号; 住房.总套数 +; public String 获取住房信息() return String.format(“第%d套:%d号房,面积%.2f平方米,%d房,

13、%s朝向“, 总套数, 房号, 面积, 房间数, 朝向); , public static void main(String args) 住房 房子; 房子 = new 住房(112.3, 3, “东南“, 501); System.out.println(房子.获取住房信息(); 房子 = new 住房(120.2, 3, “东北“, 502); System.out.println(房子.获取住房信息(); 房子 = new 住房(135.8, 4, “西南“, 503); System.out.println(房子.获取住房信息(); 房子 = new 住房(170.6, 5, “西北“

14、, 504); System.out.println(房子.获取住房信息(); 房子 = new 住房(112.3, 3, “东南“, 601); System.out.println(房子.获取住房信息(); ,Example4.java,7.8 本章小结,类与对象之间的关系是总体和个体关系。 构造方法是与类同名的特殊方法。类的构造方法可以重载。 类的主要成员是字段和方法,类各个对象也拥有字段和方法。 访问控制修饰符public、protected和private,其中public除了修饰类成员,还可修饰类本身,其余两个只能修饰类成员。 类与成员均有缺省的访问控制方式,就是包可访问性。 类成员使用关键字static声明静态成员。本类所有对象拥有同一个静态成员。静态成员都可用类名作前缀引用。 没有用static声明的则是实例成员。 类内部用关键字this指代实例成员。 使用final声明常量、方法和类。,7.9 实训7:构建圆和矩形对象,(1)编程,定义圆类,构建若干个圆对象,输出它们的面积、周长和总个数。 (2)编程,定义矩形类,构建若干个矩形对象,输出它们的面积、周长和总个数。,谢谢! 返回目录 结束放映,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1