对package的理解

2008-02-23 09:28:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

初学Java的时候对它的包机制总是懵懵懂懂的,也经常因为对包的理解不当而出现一些莫名其妙的错误,下面简单总结一下偶在java学习过程中对于包的理解和认识.,不当之处,还请指正.

首先,建立目录D:\Test,在下面新建一个很简单的java文件,First.java;

package zhukai;

/**
this is a test
@author zhukai
@version 1.1
*/

public class First{
/** static mothod
@param args an array
*/
public static void main(String args[]){
System.out.println("Test");
}
}

编译之D:\Test>javac First.java

运行D:\Test>java First,不出意外的话会出现如下的错误:

Exception in thread "main"java.lang.NoClassDefFoundError: First (wrong name: zhukai/First),解决办法如下:在Test目录下面新建目录zhukai,然后把刚才产生的class文件移过去,运行D:\Test>java zhukai.First,运行成功,输出"Test".(注意:这个时候即使你进入/zhukai运行java First也会报错).当然你也可以使用javac的-d参数来自动生成package目录,两种方法的效果是一样的.

这时可能就有人要问了,不要那个package不就得了,省的这么麻烦.我们首先看这样一种情况,在一个BBS的Web应用程序中,经常涉及到删除帖子的操作,而不的角色所拥有的权利是不一样的.比如说,普通用户只能删除自己的帖子,而斑竹则可以删除该版面上的任何一个帖子.对于编写javabean的程序员而言,可能倾向于把执行这两个操作的java文件都明明为delete.java,这个时候就会出现明明冲突的问题,而这也是为什么会出现package的原因了.package出现的初衷就是为了保证类名的唯一性.在上面的情况中,我们就可以写一个admin.delete和一个user.delete来避免命名的冲突.

上一篇: Eclipseの日本語のコンピュータの語彙(ごい)
下一篇: RHAD AS4 上安装 Oracle 数据库 10.2.0 手册

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Tom小猫,让我看清你的五脏六腑(一)

下一篇:我用的Eclipse插件介绍