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里面的所有类了
分享到:
相关推荐
Android中各种Java包介绍 在Android的应用程序开发中,通常使用的是JAVA语言,除了需要熟悉JAVA语言的基础知识之外,还需要了解Android提供的扩展的JAVA功能。
java包水电费水电费水电费是方的范德萨范德萨飞上的
之前我也在找这些包,但是一个包就需要2个积分,太贵了啊···我就自己把所有的包全打包了,而大家分享。db2java.zip db2jcc.jar db2jcc.jar db2jcc_javax.jar db2jcc_license_cisuz.jar。我自己用过了,没有问题的...
14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包的概念.zip14.java包...
17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包...
15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包...
16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译...
文件夹里面存在java集成kettle所需要的包,将java集成到kettle中,具体操作步骤请访问http://blog.csdn.net/xiaosemei/article/details/77868737
可以很好地与数据,库连接,可以有好多Java包
这是我自己用最简单的实例来说明关于java包的概念,我相信有很多java的初学者和自学者在看关于包的概念是有点模糊,而且能理解java包和类的关系和使用,这是非常关键的
sap的java包 , 对接sap时需要的jar, 开发接口的重要jar
支付宝支付 java包 支付宝支付 java包
Java包的人工智能实验环境.包括一些人工智能算法模拟实验. 实验列表: 实验一 产生式系统实验群 实验二 搜索策略实验群 实验三 爬山问题实验群 实验四 约束问题实验群 实验五 决策树实验群 实验六 贝叶斯网络实验群 ...
borland java包 import com.borland.jbcl.layout.*;出错时使用
3. Java服务端的Java包: 这部分可能包含了处理RSA加解密的Java类。在服务器端,Java代码可以使用Java Cryptography Extension (JCE)提供的API来处理RSA的加密和解密操作。例如,`java.security.KeyPairGenerator`...
jsonconvert 解析json 的java包
JAVA源码WordNet的Java包JWordNet
java学习笔记java包及权限
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...