Java包(Package)的详细用法(转)

Java(Package)的详细用法

 http://wenwen.soso.com/z/q229375145.htm

 当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件,那么我们怎样使用package那?,使用方法很简单我们只需要在我们写的程序第一行使用package关键字来声明一个包就行了,例如我们来声明一个名为pack1的包名,package pack1;好了下面我们就利用范例来说明package的使用方法,及其编译运行的方法,

 


 假设我们在d盘下的新建一个文件(pack1),在pack1文件内包含两个java程序一个是Showmethod.java和Testshow.java;

Showmethod.java

package 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 pack1Showmethod.java
2:javac pack1Testshow.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 pack1Showmethod.java
2: javac pack2Testshow.java
编译好之后pack1,pack2目录下回分别产声一个.class文件,
运行方法:
java pack2.Testshow

原文地址:https://www.cnblogs.com/gongyu/p/3959139.html