`
javawangzilong
  • 浏览: 56703 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

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里面的所有类了



分享到:
评论

相关推荐

    Android中各种Java包介绍

    Android中各种Java包介绍 在Android的应用程序开发中,通常使用的是JAVA语言,除了需要熟悉JAVA语言的基础知识之外,还需要了解Android提供的扩展的JAVA功能。

    Java包

    java包水电费水电费水电费是方的范德萨范德萨飞上的

    DB2连接的Java包

    之前我也在找这些包,但是一个包就需要2个积分,太贵了啊···我就自己把所有的包全打包了,而大家分享。db2java.zip db2jcc.jar db2jcc.jar db2jcc_javax.jar db2jcc_license_cisuz.jar。我自己用过了,没有问题的...

    17.java包的导入.zip

    17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包的导入.zip17.java包...

    15.java包的声明.zip

    15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包的声明.zip15.java包...

    16.java包的编译运行.zip

    16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译运行.zip16.java包的编译...

    kettle集成java包

    文件夹里面存在java集成kettle所需要的包,将java集成到kettle中,具体操作步骤请访问http://blog.csdn.net/xiaosemei/article/details/77868737

    所有Java包的集合

    可以很好地与数据,库连接,可以有好多Java包

    java包的概念详细解说

    这是我自己用最简单的实例来说明关于java包的概念,我相信有很多java的初学者和自学者在看关于包的概念是有点模糊,而且能理解java包和类的关系和使用,这是非常关键的

    sap java包

    sap的java包 , 对接sap时需要的jar, 开发接口的重要jar

    支付宝支付 java包 支付宝支付 java包

    支付宝支付 java包 支付宝支付 java包

    人工智能实验Java包

    Java包的人工智能实验环境.包括一些人工智能算法模拟实验. 实验列表: 实验一 产生式系统实验群 实验二 搜索策略实验群 实验三 爬山问题实验群 实验四 约束问题实验群 实验五 决策树实验群 实验六 贝叶斯网络实验群 ...

    java包jbcl.jar

    borland java包 import com.borland.jbcl.layout.*;出错时使用

    RSA的jar包,js和RSA的java工具类

    3. Java服务端的Java包: 这部分可能包含了处理RSA加解密的Java类。在服务器端,Java代码可以使用Java Cryptography Extension (JCE)提供的API来处理RSA的加密和解密操作。例如,`java.security.KeyPairGenerator`...

    java操作json包

    jsonconvert 解析json 的java包

    AIX系统java包,Java8_64.sdk.8.0.0.705

    AIX系统java包,Java8_64.jre.8.0.0.705,Java8_64.sdk.8.0.0.705

    JAVA源码WordNet的Java包JWordNet

    JAVA源码WordNet的Java包JWordNet

    java学习笔记java包及权限

    java学习笔记java包及权限

    java开源包4

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

Global site tag (gtag.js) - Google Analytics