码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA-初步认识-第十二章-面向对象(包的概述)

时间:2017-12-13 20:39:11      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:前缀   情况   表示   ges   windows   内容   确定调用   文件的   9.png   

一.

包的知识点是面向对象最后的知识点。

技术分享图片

(都是对类的操作,那java源文件呢?)

什么是包?包有什么用?

介绍一下起源,同一个文件夹里面有两个.java的源程序。它们里面各自有一个class Demo类,在源文件编译的时候,分别会产生Demo类。但由于在同一个文件夹,因此只出现了一个Demo类。为了使两个Demo类都能够存在,下面开始介绍包的概念。

类文件的同名是很正常,但是内容都不一样。这样存储时,该怎么操作?要将两个类文件分开来存放,这就是包。包在文件夹,或者文件系统当中,或者windows里面,它就是体现在文件夹上。文件夹干嘛用的,分类管理文件用的。

包里面最有趣的地方就是,给类提供多层命名(名称)空间。什么意思呢?

两个Demo类,内容不一样,我们分开来存放。外界要调用Demo类时,不能确定调用哪一个Demo类。最好用A文件夹,B文件夹来区分两个Demo类。Demo类的前面会带有前缀名,这个前缀名就是用来区分这个类的。A文件夹的,B文件夹的,这就是名称空间。给名称多加了一级空间,换句话说,Demo.class这个名称就有所属了,所属于A或者所属于B。A或者B就是Demo.class这个名称的新一层空间,它所属的空间。以后就不存在Demo.class这个名称了,要么说A的Demo.class,要么说B的Demo.class,要不然听不懂。(也就是说要交代.class的全名)

在程序中如何定义一个包呢?定义包特别简单,通过关键字就可以完成了。包名有个规范,所有包名都小写。

技术分享图片

定义一个包,包中有个类,类里面有主函数。要注意,包名的定义中有分号的存在。(它不是程序,因此不用花括号来运行,只用分号。)

技术分享图片

技术分享图片

但是在运行的过程中,出现了这样的问题,

技术分享图片

运行出现了异常。报告显示,类名不存在,而且是错误的类名,后面还交代了是mypack/PackageDemo.

前面介绍了类名有所属(类名有所属,而不是源代码有所属),光写个packageDemo肯定不行,得要有前缀名,包名。

技术分享图片

技术分享图片

技术分享图片

DOS依旧是报错的,但是和之前的有些不一样,没有说类名错误,只是说找不到。为什么呢?

包这种机制在java中是用package来表示,在文件系统中是用文件夹来体现。这就意味着packageDemo.class文件有自己所属的包。在这里的实际操作中是没有的。

技术分享图片

那么就得建一个,文件夹就是包。(在java里面称作包)包在文件系统里面就体现为文件夹。

技术分享图片

然后将packageDemo.class放入myclass包中。现在手动建立了一个文件夹,编译都不编译了,mypack里面有packageDemo.class了。

(在运行类文件之间,就要将类文件摆放到位,类文件是有所属的,不光是程序上的,还是文件系统上的。)

技术分享图片

现在就不需要进到文件夹中运行类了,不用了,它俩是整体。

技术分享图片

刚才讲述的是手动建立文件,现在换成自动的,而且这个包应该在编译时就要产生。你编译完,就知道你所属的地方在哪儿了(程序中写好了package)。哪能运行时,自己再去创建呢。

既然是编译,就要看编译器能够帮忙做这个事儿。

技术分享图片

看怎么书写这个格式。以前在使用时,没有写<选项>,直接javac接的源文件。

技术分享图片

在所有的帮助信息中,有一条可以帮助我们形成存放类文件的位置。

 技术分享图片

在当前目录下存放类文件,当前目录用点号加上一个空格来表示。

技术分享图片

结果显示为类文件确实存放在当前目录下,而且还创建了一个文件夹,来存放这个类文件。(这个自动出现的文件夹,为什么叫mypackage呢?)javac是在编译源文件,所做的一切都是为了类文件服务的,包括生成类文件,和确定类文件所属,类的一切从javac就已经确定了。

技术分享图片

运行程序也没有任何问题。(类和源代码所处的位置不一样。)

如果是多个程序的情况下,肯定不能是多个mypackage文件夹,该怎么书写呢?

能不能创建多级包目录呢?文件很多,存放在文件夹里面,文件夹很多,我们要分别存放,

技术分享图片

技术分享图片

技术分享图片

对程序做一个修改,以便形成多级包的形式

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

包的书写形式很奇特,开头的书写没有花括号,只有分号。运行类文件时,一定要将路径写对写全。

 

JAVA-初步认识-第十二章-面向对象(包的概述)

标签:前缀   情况   表示   ges   windows   内容   确定调用   文件的   9.png   

原文地址:http://www.cnblogs.com/wsw-bk/p/8033921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!