手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

对package的理解

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

初学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 手册

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!