java 中利用包来解决类名冲突问题,包(package)是一组相关的类和接口的集合
包的优点:避免大量类名冲突,扩大名字空间。
包体现了封装机制。
package str; interface template{ long factorial(int m); long myPower(int m,int n); } class tool implements template{ public long factorial(int m){ int sum=1; for(int i=1;i<=m;i++) sum*=i; return sum; } public long myPower(int m,int n){ int su=m; for(int i=2;i<=n;i++) su*=m; return su; } } public class five3{ public static void main(String[] args){ tool t=new tool(); System.out.println("5的阶乘为:"+t.factorial(5)); tool l=new tool(); System.out.println("4的1次方为:"+t.myPower(4,1)); } }
以此代码为例,需要的java文件的首行写入 package 包名;
// 包名:就是想要创建的包给它起个合适名字。
加入这条语句后保存,便可在dos窗口下执行此命令创建包名为str:
javac -d . five3.java
//需要注意的是 javac 后面的空格、-d后面的空格、点后面的空格必须带上,不能少!!!,此语句需要在该java文件目录下去执行。
执行完之后你会发现在你的文件里面生成了这样一个文件夹,如图:
因为java代码里面首行写入的是package str;所以会生成str这个文件夹,他就是创建的包。
由于java代码里面创建的三个类,所以这里都会放在创建的这个包下面,那么如何去执行他呢,很简单,只需要输入一下命令便可
java str.five3
//注意:这里的格式为:java 包名.类名 //这个类名里面需要包含main方法才能被执行,一般称为主类。
执行结果如下: