- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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支持
您可能关注的文档
- (人教版)一年级下册语文复习资料(整理)-2.doc
- (全英文论文)中国特色新词及其英译研究.doc
- (全英文论文)从翻译美学角度谈汽车商标词的汉译.doc
- (全英文论文)商务英语专业学生跨文化非语言交际能力调查研究.doc
- (全英文论文)影响学生英语学习的因素分析.doc
- (全英文论文)委婉语在中西商务谈判中的角色.doc
- (90分答案)公共危机管理中公民与社会组织的参与(下).docx
- (全英文论文)劳伦斯和他的作品儿子与情人恋母情结.doc
- (全英文论文)英语委婉语浅析.doc
- (全英文论文)论大学生英语自主学习能力的培养.doc
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
最近下载
- T∕CEC 131.4-2016 铅酸蓄电池二次利用 第4部分:电池维护技术规范.pdf
- 百日咳试题附有答案.docx VIP
- 2024年广东省深圳市光明区人大常委会办公室招聘一般类岗位专干12人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx VIP
- 高中语文任务驱动型材料作文:枯燥与热闹审题指导(含解析).docx VIP
- 某镇卫生院污水设计方案.pdf VIP
- 2024年广东深圳市光明区人大常委会办公室招聘一般类岗位专干3人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx VIP
- 中考数学经验交流会发言稿.pdf
- 2024年7月广东省深圳市光明区人大常委会办公室招聘10人历年【高频考点汇总500题】模拟卷及参考答案详解.docx VIP
- 《溜冰圆舞曲和雷鸣电闪波尔卡》精品课件2023.pptx
- 水利项目安全评价报告.docx
文档评论(0)