RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Eclipse>列表

java Exception in thread "main" java.lang.NoSuchMethodError

来源: 作者: 时间:2007-08-08 点击:

   
  省的是不能运行正确的,   然后把   tool.jar   放入   CLASSPATH   后工作正常.   现在作测试,  
   
  去掉仍然是正确的.   经过多次测试,   发现如果原来曾装过   jdk   的都很好,   没有装过的  
  装的时候会死机,   多装几次就可以了.   如果你发现正确安装后,   不能正常工作,   就把  
  tools.jar   加入   CLASSPATH,   试一下.   
 二,   包   (package)  
          Java   中的   "包"   是一个比较重要的概念,   package   是这样定义的:  
  Definition:   A   package   is   a   collection   of   related   classes   and   interfaces  
  that   provides   access   protection   and   namespace   management.  
          也就是:   一个包就是一些提供访问保护和命名空间管理的相关类与接口的集合.  
          使用包的目的就是使类容易查找使用,   防止命名冲突,   以及控制访问.  
          这里我们不讨论关于包的过多的东西,   只讨论和编译,   运行,   类路径相关的东西.  
  至于包的其他内容,   请自己查阅相关文档.  
          简单一点来说,   包就是一个目录,   下面的子包就是子目录,   这个包里的类就是  
  这个目录下的文件.   我们用一个例子来说明.  
          首先建目录结构如下:   PackageTest/source/,   以后根目录指的是   PackageTest  
  目录,   我们的源程序放在   source   目录下.   源程序如下:  
  PackageTest.java  
  package   pktest;  
  import   pktest.subpk.*;  
  public   class   PackageTest  
  {  
          private   String   value;  
          public   PackageTest(String   s)  
          {  
                  value   =   s;  
          }  
          public   void   printValue()  
          {  
                  System.out.println("Value   of   PackageTest   is   "   +   value);  
          }  
          public   static   void   main(String[]   args)  
          {  
                  PackageTest   test   =   new   PackageTest("This   is   a   Test   Package");  
                  test.printValue();  
                  PackageSecond   second   =   new   PackageSecond("I   am   in   PackageTest");  
                  second.printValue();  
                  PackageSub   sub   =   new   PackageSub("I   am   in   PackageTest");  
                  sub.printValue();  
                  System.exit(0);  
          }  
  }  
  PackageSecond.java  
  package   pktest;  
  public   class   PackageSecond  
  {  
          private   String   value;  
          public   PackageSecond(String   s)  
          {  
                  value   =   s;  
          }  
          public   void   printValue()  
          {  
                  System.out.println("Value   of   PackageSecond   is   "   +   value);  
          }  
  }  
  PackageSub.java  
  package   pktest.subpk;  
  import   pktest.*;  
  public   class   PackageSub  
  {  
          private   String   value;  
          public   PackageSub(String   s)  
          {  
                  value   =   s;  
          }  
          public   void   printValue()  
          {  
                  PackageSecond   second   =   new   PackageSecond("I   am   in   subpackage.");  
                  second.printValue();  
                  System.out.println("Value   of   PackageSub   is   "   +   value);  
          }  
  }  
  Main.java  
  import   pktest.*;  
  import   pktest.subpk.*;  
  public   class   Main()  
  {  
          public   static   void   main()  
          {  
                  PackageSecond   second   =   new   PackageSecond("I   am   in   Main");  
                  second.printValue();  
                  PackageSub   sub   =   new   PackageSub("I   am   in   Main");  
                  sub.printValue();  
                  System.exit(0);  
          }  
  }  
          其中,   Main.java   是包之外的一个程序,   用来测试包外的程序访问包内的类,  
  PackageTest.java   属于   pktest   这个包,   也是主程序.   PackageSecond.java   也  
  属于   pktest,   PackageSub   属于   pktest   下的   subpk   包,   也就是   pktest.subpk.  
  详细使用情况,   请参看源程序.  
          好了,   先把源程序都放在   source   目录下,   使   source   成为当前目录,   然后编  
  译一下,   呵呵,   出错了,  
  Main.java:1:   Package   pktest   not   found   in   import.  
  import   pktest.*;  

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
Google Adsense
相关文章