java包

Java包:(package)
1.对类文件进行分类管理。
2.给类提供多层命名空间。
3.在程序文件的第一行
4.类名的全称是 包名.类名
5.包也是一种封装形式。

如何定义一个包?
package pack
class PackageDemo{}

通过package关键字定义,包名规范,所有字母都小写
但是每次编译后的类都需要手动建立一个包名的文件夹

javac -d . PackageDemo.java

-d的意思是放在哪个目录下,点的意思是当前目录

有了包以后,在编译时,可以指定任意目录,那么就可以完成java
的源文件和运行文件存储的分离。

Set classpath=包所在的目录
然后在当前的目录下运行了

容易出现的问题:
1.类名写错,因为当一个类有了包,那么调用这个类的时候,必须
使用包名店类名

2.找不到软件包,在编译时,会在当前目录下查找该软件包,但是
当前目录没有,而是在其他目录下
解决方法:指定classpath,告诉编译器应该到那去找软件包
set classpath=........

3.提示类在软件包中权限够,包以外的程序访问不到。
解决方法:将类的权限提升为public,所以当有包的时候,
如果类不设为public,就相当于被隐藏了。

4.类公有之后,包以外可以访问了,但是类中的成员没有公有,
所以权限不够,也访问不到
解决方法:将成员设为public

结论:包与包之间进行访问,被访问的包中的类必须公有,被访问的包中的方法也必须公有
(如果用到构造函数,把构造函数也设为公有)


  Public protected default private
同一类中
同一包中
同一


调用其他包中的类必须定义全名称,书写很麻烦,阅读也很差。
所以为了简化这个动作,使用一个新的关键字 import

import 简化类名书写,使用方式 import 包.类;将要使用的类先导入进来,在使用时,
可以直接使用类名而不写包名。

import其实导入的都是包中的类。
如果想要导入一个包中的所有类,那么可以import package.*;
实际开发时,建议用到包中的哪个类,就导入哪个类,尽量不要定义.*的方式。

import导入的是当前包中的类,不能够导入包中的包。


Jar包:
jar -cf haha.jar mypackagr

-c的意思是生成jar文件,-f是后面起的什么名字
名字叫haha.jar

使用jar包的时候只要设置classpath指向haha.jar就行了
set classpath=..../haha.jar
这时候就可以使用jar里面的所有类了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值