第5章 JAVA面向对象编程基础

上传人:z**** 文档编号:258609773 上传时间:2022-02-23 格式:PPT 页数:26 大小:301.50KB
返回 下载 相关 举报
第5章 JAVA面向对象编程基础_第1页
第1页 / 共26页
第5章 JAVA面向对象编程基础_第2页
第2页 / 共26页
第5章 JAVA面向对象编程基础_第3页
第3页 / 共26页
第5章 JAVA面向对象编程基础_第4页
第4页 / 共26页
第5章 JAVA面向对象编程基础_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《第5章 JAVA面向对象编程基础》由会员分享,可在线阅读,更多相关《第5章 JAVA面向对象编程基础(26页珍藏版)》请在金锄头文库上搜索。

1、第五章 JAVA面向对象编程基础第5章 JAVA面向对象编程基础第五章 JAVA面向对象编程基础主要内容n定义类n创建类的实例对象n构造函数n访问控制修饰符n静态属性、静态方法与静态初始化器n抽象类与抽象方法n最终类、最终属性、最终方法与终结器n其他修饰符及修饰符的混合使用第五章 JAVA面向对象编程基础系统定义的类 Java.io包 Java.awt包 Java.applet包 J包第五章 JAVA面向对象编程基础用户程序自定义类语法结构:修饰符 class 类名 extends 父类 implements 接口名 类成员变量声明; 类方法声明; 第五章 JAVA面向对象编程基础创建类的实例

2、对象创建对象的一般格式: 类名 新建对象名= new 构造函数();例如: TextField input = new TextField(6);例如: PhoneCard myCard = new PhoneCard(); myCard.balance=50.0;第五章 JAVA面向对象编程基础构造函数例如: PhoneCard newCard = new PhoneCard(12345678,1234,50.0, “300”);PhoneCard (long cn, int pw, double b,String s)cardNumber = cn;password = pw;balanc

3、e = b;connectNumber = s;connected = false;第五章 JAVA面向对象编程基础构造函数的特殊性(1) 构造函数的方法名与类名相同。(2) 构造函数没有返回类型。(3) 构造函数的主要作用是完成对类对象的初始化 工作。(4) 构造函数一般不能由编程人员显式直接调用。(5) 在创建一个类的新对象的同时,系统会自动调 用该类的构造函数为新对象初始化。第五章 JAVA面向对象编程基础构造函数的作用引入更多的灵活度PhoneCard (long cn, int pw, double b,String s)cardNumber = cn;password = pw;i

4、f ( b 0 )balance = b; elseSystem.exit(1);connectNumber = s;connected = false; 第五章 JAVA面向对象编程基础访问控制修饰符图5-1 程序中的访问控制区域第五章 JAVA面向对象编程基础 类属性与方法public缺省 publicAB protectedBCB 缺省BB private protectedCDED privateDD表5-1 类、属性和方法的访问控制第五章 JAVA面向对象编程基础作业与练习 书写语句完成下面的功能:(1)定义一个类, 其名称为MyClass,它可以被 所有的其他类访问。(2)将对象O

5、bject1的属性field1在屏幕上显示 出来。(3)调用对象Object1的方法method1,把返回值 赋值给变量Hold。(4)定义一个整型属性Mine,使得只有这个类本 身可以访问它。(5)为类Class定义一个整型变量fidld2,使得 所有其他类都可以访问它。第五章 JAVA面向对象编程基础(6)为类Class2编写构造函数的方法头,该构 造函数不接受任何形式参数。(7)为类Class2编写构造函数的方法头,该构 造函数接受两个整型形式参数。第五章 JAVA面向对象编程基础 静态属性 class PhoneCard200static String connectNumber =

6、200;static double additoryFee;long cardNumber ;int password;boolean connected;double balance; 第五章 JAVA面向对象编程基础静态方法 声明一个方法为static至少有三重含义: 调用这个方法时,应该使用类名做前缀,而不是 某一个具体的对象名;(2) 非static的方法是属于某个对象的方法,在这个对象创建时对象的方法在内存中拥有自己专用的代码段;而static的方法是属于整个类的,它在内存中的代码段将随着类的定义而分配和装载,不被任何一个对象专有;(3) 由于static方法是属于整个类的,所以它不

7、能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量,也即,static方法只能处理static域。第五章 JAVA面向对象编程基础例如: 在PhoneCard200中如果需要修改附加费,可以定义一个静态方法setAdditory( )。 static void setAdditory ( double newAdd) if(newAdd 0)additoryFee = newAdd; 第五章 JAVA面向对象编程基础静态初始化器静态初始化器在三点上与构造函数有根本的不同: 构造函数是对每个新创建的对象初始化,而静 态初始化器是对类自身进行初始化。(2) 构造函数是在用new运算

8、符产生新对象时由系 统自动执行,而静态初始化器则是在它所属的 类加载入内存时由系统调用执行。(3) 不同于构造函数,静态初始化器不是方法,没 有方法名、返回值和参数列表。第五章 JAVA面向对象编程基础抽象类鸟:鸽子、燕子、麻雀、天鹅天鹅:天鹅是一种脖子长长,姿态优美的候鸟。燕子:燕子是一种长着剪刀似的尾巴,喜在屋檐 下筑巢的鸟。鸟:鸟是一种长着翅膀和羽毛的卵生动物。第五章 JAVA面向对象编程基础图5-2 电话卡及其子类的层次关系树第五章 JAVA面向对象编程基础例如:定义一种集合了所有种类的电话卡的公 共特点的抽象电话卡 abstract class PhoneCard double ba

9、lance; void performDial( ) 第五章 JAVA面向对象编程基础抽象方法例如:抽象类PhoneCard中的一个抽象方法: abstract void performDial ( ) ; 注意: 所有的抽象方法,都必须存在于抽象类之中。一个非抽象类中出现抽象方法是非法的,也即,一个抽象类的子类如果不是抽象类,则它必须为父类中的所有抽象方法书写方法体。不过抽象类不一定只能拥有抽象方法,它可以包含非抽象的方法。第五章 JAVA面向对象编程基础图5-2 电话卡及其子类的层次关系树最 终 类第五章 JAVA面向对象编程基础最终属性 例如: static final String c

10、onnectNumber = 200;用final修饰符说明常量时,需要注意以下几点:(1) 需要说明常量的数据类型。(2) 需要同时指出常量的具体取值。(3) 因为所有类对象的常量成员,其数值都固定一 致,为了节省空间,常量通常声明为static。第五章 JAVA面向对象编程基础最终方法 注意: 所有已被private修饰符限定为私有的方法,以及所有包含在final类中的方法,都被缺省地认为是final的。第五章 JAVA面向对象编程基础终结器Public void finalize() System.out.println(“An Object of” +toString()+”has b

11、een free & collected”)第五章 JAVA面向对象编程基础修饰符混用时需要注意的问题(1) abstract不能与final并列修饰同一个类。(2) abstract不能与private,static,final或 native并列修饰同一个方法。(3) abstract类中不能有private的成员(包括属性 和方法)。(4) abstract方法必须在abstract类中。(5) static方法中不能处理非static的属性。 第五章 JAVA面向对象编程基础作业与练习 书写语句完成下面的功能:(1)为类Class1创建一个静态整型变量s_data。(2)写出一个空的静态初始化器。(3)写出抽象类IamAbstract的类头定义语句。(4)定义一个抽象方法abstractMethod,没有形 式参数,返回值为布尔型量。(5)写出定义最终类IamFinal的类头定义语句。(6)定义浮点常量PIE,其取值为3.1415926。(7)写出一个空的终结器。(8)定义一个native方法IamNative,有一个整型 形式参数,返回值为双精度型。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号