前言
本人是一名Java的初学者有什么说的不对的地方请多多包含
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是包?包的作用是什么?
为了更好的组织类,Java提供了类似于文件夹的命名空间。它的关键字是 package。
它放在Java文件的第一行
package com.tuio.demo;
public class Demo01{
public static void main(String[] args) {
}
}
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
二、导包
1.导入库单元
在Java标准发布的标准库中有一个工具库,它放在java.util
包下。在java.util
中有一个类是ArrayList
的类,在使用这个类的时候我们要用它的全名 java.util.ArrayList
来指定。
代码如下(示例):
package com.tuio.demo;
public class Demo02 {
public static void main(String[] args) {
java.util.Vector v2 = new java.util.Vector();
v2.add(123);
}
}
但是这种方式会使程序变得冗长,因此在这里提供了一个import关键字。如果你只是想要用这单个类就只需要:import java.util.ArrayList;
如果你要导入这个包下多个类的话可以这样写:import.java.util.*;
package com.tuio.demo;
//import java.util.*;
import java.util.Vector;
public class Demo02 {
public static void main(String[] args) {
Vector v2 = new Vector();
v2.add(123);
}
}
2.导入自定义的类
我们自己写的类 (public修饰的属性,类,方法) 同样也可以在不同的包下用import导入调用
代码如下(示例):
package com.tuio.demo02;
import com.tuio.demo02.Demo02
public class Demo03 {
public static void main(String[] args) {
Demo02 d = new Demo02();//这里用的是上面的类
//我主要是想说明一下在不同的包中用import调用自定义的类
//不涉及方法的调用
}
}
总结
-
运用包机制可以有效的解决Java文件名冲突的问题就像电脑的文件夹一下,因为比较简单所以没有举例
-
在方法调用的方面上会涉及到访问权限的问题,所以并不是任何文件在import导入后都可以调用的。至于访问权限我在下次发表的文章中会说到。
-
import的作用是在程序运行过程中通过import找目标文件下的类。
-
而package是在运行这个类之前先通过package找到目标文件然后在运行
最后这篇文章主要是我在看完这个章节,把自己的理解发发布出来,主要目的是帮助日后的学习。如有雷同纯属巧合。
第一次发布博客可能排版或者内容上有一些不适,欢迎各位向我提出宝贵意见。
参考文献:《Java编程思想》(Thinking in Java)