当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件,那么我们怎样使用package那?,使用方法很简单我们只需要在我们写的程序第一行使用package关键字来声明一个包就行了,例如我们来声明一个名为pack1的包名,package pack1;好了下面我们就利用范例来说明package的使用方法,及其编译运行的方法,
假设我们在d盘下的新建一个文件(pack1),在pack1文件内包含两个java程序一个是Showmethod.java和Testshow.java;Showmethod.javapackage pack1;//在这里把Showmethod类纳入到pack1包内
class Showmethod{
public void show(){
System.out.println("I'm a show method() of Showmethod class");
}
}
Testshow.java; package pack1;//在这里把Testshow类也纳入到pack1包内
public class Testshow{
public static void main(String args[]){
Showmethod sm=new Showmethod();
sm.show();
}
}
下面我们就先来看一下如何编译这两个位于同一个包内的java程序,1:javac pack1\Showmethod.java
2:javac pack1\Testshow.java
这就是编译的方法 pack1是包名,包名后面跟的就是我们要编译的那个类名,编译好后pack1目录下回声成两个class文件,运行方法:
java pack1.Testshow
注意运行时要指出包名,包名后有一个点"."然后是类名,
2:下面我们来看一下如何访问不在同一个包内的类,在D盘分别建立pack1,pack2两个文件,
建立好之后将Showmethod.java放到pack1包内,
Showmethod.java的代码如下:
package pack1;
public class Showmethod{
public void show(){
System.out.println("I'm a show method() of Showmethod class");
}
} 将Testshow.java放到pack2包内
Testshow.java的代码如下:
package pack2;
public class Testshow{
public static void main(String args[]){
pack1.Showmethod sm=new pack1.Showmethod();
sm.show();
}
}由于此类需要调用位于pack1包中的Showmethod类的show方法,所以这里pack1.Showmethod sm=new pack1.Showmethod();这样写,我们还可以使用import 语句将pack1包内的Showmethod方法导入进来,这样这个地方pack1.Showmethod sm=new pack1.Showmethod();我们就可以这样写了Showmethod sm=new Showmethod();对于import我们下一范例进行说明,
还有一点我们必须注意,在访问不同 package里的类时,被访问的类必须被声明为public(就是公有类型的),否则在编译回报告错误,
编译方法"
1javac pack1\Showmethod.java
2: javac pack2\Testshow.java
编译好之后pack1,pack2目录下回分别产声一个.class文件,
运行方法:
java pack2.Testshow
在每个class头写package ....;就行了,就是分类,java类不是有private、protected、default、public属性吗?可以在包上体现。方便查阅,管理,增强程序的可读性。
包的作用,说白了,就是分类,方便管理