概念——Java包
来源:互联网 发布:淘宝人生txt全集下载 编辑:程序博客网 时间:2024/05/17 07:57
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包。
包不但可以包含类,还可以包含接口和其他的包。
目录以"\"来表示层级关系,例如 E:\Java\workspace\Demo\bin\p1\p2\Test.java。
包以"."来表示层级关系,例如 p1.p2.Test 表示的目录为 \p1\p2\Test.class。
如何实现包
通过 package 关键字可以声明一个包,例如:
package p1.p2;
必须将 package 语句放在所有语句的前面,例如:
1.package p1.p2;
2.publicclass Test {
3. publicTest(){
4. System.out.println("我是Test类的构造方法");
5. }
6.}
表明 Test 类位于 p1.p2 包中。
包的调用
在Java中,调用其他包中的类共有两种方式。
1) 在每个类名前面加上完整的包名
程序举例:
1.publicclass Demo {
2. publicstaticvoidmain(String[] args){
3. java.util.Date today=new java.util.Date();
4. System.out.println(today);
5. }
6.}
运行结果:
Wed Dec 03 11:20:13 CST 2014
2) 通过 import 语句引入包中的类
程序举例:
1.import java.util.Date;
2. // 也可以引入 java.util 包中的所有类
3.// import java.util.*;
4.
5. publicclass Demo {
6. publicstaticvoidmain(String[] args){
7. Date today=newDate();
8. System.out.println(today);
9. }
10.}
运行结果与上面相同。
实际编程中,没有必要把要引入的类写的那么详细,可以直接引入特定包中所有的类,例如 import java.util.*;。
类的路径
Java 在导入类时,必须要知道类的绝对路径。
首先在 E:\Java\workspace\Demo\src\p0\ 目录(E:\Java\workspace\Demo\src\ 是项目源文件的根目录)下创建 Demo.java,输入如下代码:
1.package p0;
2.import p1.p2.Test;
3.
4.publicclass Demo{
5. publicstaticvoidmain(String[] args){
6. Test obj =newTest();
7. }
8. }
再在 E:\Java\workspace\Demo\src\p1\p2 目录下创建 Test.java,输入如下代码:
1.package p1.p2;
2.
3.publicclass Test {
4. publicTest(){
5. System.out.println("我是Test类的构造方法");
6. }
7.}
假设我们将 classpath 环境变量设置为 .;D:\Program Files\jdk1.7.0_71\lib,源文件 Demo.java 开头有 import p1.p2.Test; 语句,那么编译器会先检查 E:\Java\workspace\Demo\src\p0\p1\p2\ 目录下是否存在 Test.java 或 Test.class 文件,如果不存在,会继续检索 D:\Program Files\jdk1.7.0_71\lib\p1\p2\ 目录,两个目录下都不存在就会报错。显然,Test.java 位于 E:\Java\workspace\Demo\src\p1\p2\ 目录,编译器找不到,会报错,怎么办呢?
可以通过 javac 命令的 classpath 选项来指定类路径。
想要了解更多Java知识加入我们群364559552一起学习交流一起进步吧!
打开CMD,进入 Demo.java 文件所在目录,执行 javac 命令,并将 classpath 设置为 E:\Java\workspace\Demo\src,如下图所示:
运行Java程序时,也需要知道类的绝对路径,除了 classpath 环境变量指定的路径,也可以通过 java 命令的 classpath 选项来增加路径,如下图所示:
注意 java 命令与 javac 命令的区别,执行 javac 命令需要进入当前目录,而执行 java 命令需要进入当前目录的上级目录,并且类名前面要带上包名。
可以这样来理解,javac是一个平台命令,它对具体的平台文件进行操作,要指明被编译的文件路径。而java是一个虚拟机命令,它对类操作,即对类的描述要用点分的描述形式,并且不能加扩展名,还要注意类名的大小写。
这些命令比较繁杂,实际开发都需要借助 Eclipse,在Eclipse下管理包、编译运行程序都非常方便。Eclipse 实际上也是执行这些命令。
想要了解更多Java知识加入我们群364559552一起学习交流一起进步吧!
包的访问权限
被声明为 public 的类、方法或成员变量,可以被任何包下的任何类使用,而声明为 private 的类、方法或成员变量,只能被本类使用。
没有任何修饰符的类、方法和成员变量,只能被本包中的所有类访问,在包以外任何类都无法访问它。
- 概念——Java包
- Java编程那些事儿72——包的概念
- Java编程那些事儿72——包的概念
- java 中的包概念
- java的包概念
- java:包的概念
- java包概念
- java包概念基础
- java包的概念:
- java包的概念
- JAVA包的概念
- Java包的概念
- java 包的概念
- Java包的概念
- Java中包的概念
- Java包(package)概念
- java中包的概念
- Java中包的概念
- JAVA和C++通过socket发送和接收结构体
- windows中caffe中alexnet模型可能会遇到的问题
- close_wait状态的产生原因及解决
- 存储过程和函数的区别
- C++知识点摘记
- 概念——Java包
- 最新手机号码、固话号码正则表达式
- 用隐藏域解决关于checkbox 不选中传值问题
- 斯坦福机器学习教程学习笔记之4
- Gerrit集成Gitweb查看代码
- Android 已知原点,角度,半径获取圆上坐标
- Cocos2d-x 资源加密解密实践总结
- Android面试之 Java篇
- 设计模式