- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计(Java)5
复习 一个Java源文件 可以有多个类组成 每个类都会有一个和类名相同的class文件 一个Java源文件只允许有一个类拥有public修饰符,且文件名与该类相同 举例:TestLine.java class Point class Line public class TestLine 主要内容 包 什么是包 创建包 包的命名 导入包 控制对类成员的访问 public 无修饰符(默认修饰符) private static修饰符 类变量 类方法 为什么使用包2-1 为什么使用包2-2 创建包 创建包的语法:package 包名 package mypack1; package mypack2 说明 package语句必须是源文件的第一行 每个源文件中只能有一个package语句,并且它应用于这个文件中的所有类型。 如果源文件中没有指定包,这些类被组合到一个未命名的缺省包中 命名包 包名通常全部小写,避免和类的名称发生冲突 包名以文件夹的形式存在 类名:mypack1.Table 公司使用的因特网域名的反向顺序 package cn.net.nit -- cn\net\nit 类名:cn.net.nit.Line、cn.net.nit.Point、cn.net.nit.TestLine 使用包成员 包成员(package member) 构成包中的类型被称为包成员 导入包成员 在TestPackage.java中使用其它包成员 导入包成员 import cn.net.nit.Point 导入整个包 import cn.net.nit.* 包的作用 包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件 有助于避免命名冲突。在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了名称上的冲突 包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类 访问修饰符 4-1 信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因 信息隐藏的原因包括: 对任何实现细节所作的更改不会影响使用该类的代码 防止用户意外删除数据 此类易于使用 访问修饰符 4-2 访问修饰符 4-3 同一包中的不同类 Line类访问Point类 Point类成员变量x为private修饰符,y为默认修饰符 The filed P.x is not visible Line类不能访问Point类成员变量x 不同包中的类 cn.net.Line访问cn.net.nit.Point Point类成员变量x为默认修饰符,y为public修饰符 The filed P.x is not visible cn.net.Line类不能访问Point类成员变量x 访问修饰符 4-4 访问修饰符可访问性 类变量 在变量之前加上“static”修饰符 Case:StaticDemo.java 不管创建了类的多少实例,整个类中静态变量的副本只有一个 引用静态变量 通过引用类的任一实例 通过类的名称:类名.类变量 类方法2-1 static修饰符修饰的方法叫静态方法 目的 使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法 类方法2-2 调用静态方法的语法为: 类名.方法名(参数列表 ); Case:StaticMember.java 类成员与实例成员的区别 类成员 static修饰的成员 类变量 类方法 作业 什么是包?什么是缺省包?包的命名规则及作用? 说明访问修饰符public、默认修饰符、private特点 类变量与实例变量的区别 常量 用static修饰符和final修饰符定义 语法: static final 数据类型 常量名 = 值; static final double PI = 3.14 注意 常量名通常大写,多个单词之间用”_”分割 MY_WIDTH 使用final修饰符,常量值必须定义,且不能修改 实验2-1 一张牌Card类(该类定义在mypack包下) 常量:扑克牌花色、大小 static final String[] SUITS={narf, Clubs,Diamonds,Hearts,Spades}; static final String[] RANKS = {narf, Ace, 2, 3, 4 ,5, 6 , 7 , 8 , 9 , 10 , Jack , Queen , King }; 成员变量 int suit:花色下标 int rank:大小下标 构造器 public Card() public Card(int suit,int rank) 方法 public void printCard(Card c):打印一
文档评论(0)