- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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支持
您可能关注的文档
- 烟台2010高三第一学期期中考题总汇.doc
- 烟景输油管道初步设计总汇.doc
- 烟草中氨基酸的分离与方法总汇.doc
- 亚裔学子美国高校录取窘境:平权措施总汇.doc
- 牙周病的修复治疗每日一练(2016.5.10)总汇.doc
- 循环系统总汇.doc
- 循环水处理工试(中级工)总汇.doc
- 学校预防水痘知识总汇.doc
- 学校食物营养指引总汇.doc
- 学校旧电脑室改造解决方案总汇.doc
- DDM2911-10密度计操作规程说明书手册.pdf
- Tri-Carb液体闪烁计数器.pdf
- 0043_C-Series_Wiring_Setup_and_ASCII_Programming_用户操作说明书手册.pdf
- 海上公务船船体结构规范指引 2021.pdf
- ATDM-1012_用户操作说明书手册_V3_SC.pdf
- Aquilos 在 Grid 上制备 Lamella说明.pdf
- ATH-TWX7-用户操作说明书手册-SC.pdf
- 0439_Techno_CNC_Servo_G-Code_Interface_用户操作说明书手册_-_Build_400.pdf
- 离子色谱 (ICS900)操作规程说明书手册.docx
- 0668_Techno-BT1212-用户操作说明书手册.pdf
文档评论(0)