05类和对象--封装.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05类和对象--封装

第5章 类和对象---封装 上一章介绍了类、属性、方法及方法传参、构造方法和析构方法、对象实例化、对象成员的引用等核心的语法及语义。 这一章主要介绍面向对象三个主要特性(封装、继承、多态)之一:封装。 另外介绍几个与面向对象主要特性关系不大,但很常用的JAVA关键字:package, import, this。 1 JAVA关键字package、import和JAR文件 1.1 package和import package意为“包”,包的逻辑含义是“名称空间”,物理含义是文件夹。 什么是“名称空间”?名称空间可以确定一个对象的唯一名字,比如,很多人叫张三,无法唯一确定张三是谁,如果使用名称空间:山大.威海分校.信工.计算机.张三,则唯一确定张三的机会很大。山大.威海分校.信工.计算机 就是张三的名称空间。 JAVA为什么要用名称空间?全世界有数万家公司和数百万JAVA程序员,他们都在写类,而且在互相使用对方写的类,怎样区分这个类是哪家公司、哪个部门、哪个项目写的?类重名了怎么办? 名称空间可以解决这个问题。比如某个类MyClass使用了 sd.wehhai.ie.MyClass完全名称空间,我们就知道这个类出自何处,而且也不但心与其他名称空间的MyClass重名。 包的物理含义是文件夹,文件夹的层次是与名称空间的层次一一对应的,比如名称空间sd.wehhai.ie对应的文件夹层次是sd\wehhai\ie。 如果在名称空间中创建类,首先要用package声明你使用的名称空间,比如在sd.wehhai.ie中创建MyClass类,则: package sd.wehhai.ie class MyClass {//类体….} 例1:package操作演示 打开eclipse,创建一个新项目“5-1testpack”; 在该项目下依次建立二个类,Test1,Test2,可以看到这二个类都在(default package)包中,这是项目默认的包。 在项目中新建一个包sd.wehhai.ie,在该包下新建一个类MyClass,代码如下: package sd.weihai.ie; public class MyClass { public void hello() {System.out.println(hello!);} } 查看项目文件夹,发现有sd\wehhai\ie的层次文件夹。 (4)在(default package)包中的Test1类中写以下代码: public class Test1 { public static void main(String args[]) {sd.weihai.ie.MyClass t=new sd.weihai.ie.MyClass(); t.hello(); }} 输出结果为hello! 由代码可以看到,当(default package)包中的类试图使用另一个包sd.wehhai.ie中的类MyClass时,必须要使用全名称空间,这太繁琐了。解决方法是使用import,在程序的开始,事先导入包,会省缺一些麻烦。 (5)在(default package)包中的Test2类中写以下代码,程序清爽许多: import sd.weihai.ie.*; //“*”代表导入该包所有类 public class Test2 { public static void main(String args[]) { MyClass t=new MyClass(); //无需全名称空间 t.hello(); }} (6)在一个包中使用另一个包中的类,最好用import让程序清爽一些。同一个包中的类互相使用,无需import。在(default package)包中写的类,开头也无需声明package。 (7)有些人认为,import类似于C/C++的include,这种说法不恰当。include导入的库参与编译,而import导入的库只有被程序真正用到的才参与编译,所以你尽可大胆使用import,不会造成目标文件(.class文件)膨胀。 1.2 JAR文件 一个大型项目可能有很多包,一个包又有很多类,在课件第1章曾演示过,JAVA为每个类单独编译成一个.class文件,当项目完成后,这么多的.class文件如何发布就成了问题。很自然的会想到:应该把这些.class文件压缩打包成一个文件。 JAR文件(该种文件的扩展名是.JAR)是JAVA产品发布常见的文件格式,网络上可下载的JAVA免费或收费产品非常多,从手机、桌面等消费娱乐程序,到服务器端插件等平台、开发工具或开发环境,很多是以JAR发布的。 eclipse支持

您可能关注的文档

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档