public class Test1 
{
    public static void main(String[] args) 
    {
        String str=Aaaa1.aaa();//aaa方法非静态方法,不能直接引用        System.out.println(str);
        System.out.println("Hello!");
        
    }改为:
public class Test1 
{
    public static void main(String[] args) 
    {
        Aaaa1 temp=new Aaaa1();
        String str=temp.aaa();
        System.out.println(str);
        System.out.println("Hello!");
        
    }
}

解决方案 »

  1.   

    不是的,我已经把方法定义成static了呀.我按你的方法,错误一样的
      

  2.   

    是不是你的jar文件指定有问题
      

  3.   

    看错了.这应该是路径的问题
    两个程序在一个包里吗?
    如果没有,test1引入Aaaa1
      

  4.   

    引入Aaaa1,我已经把包放到了jre\lib\ext不是可以自动加载包吗?
      

  5.   

    我用的JAR 命令是:jar cvf xhjava2.jar *.class
      

  6.   

    你的Aaaa1类是不是放在xhjava2目录里的呀?你这是包的问题吧,必须吧路径也打进去,然后import
      

  7.   

    我的Aaaa1类是在xhjava2的包里,然后用JAR 压缩成xhjava2.jar,再把xhjava2.jar放到jre\lib\ext里,可以自动搜寻类.
      

  8.   

    你的jar命令应该是jar cvf xhjava2.jar xhjava2/*.class 吧,否则你的包路径不对,而且你在Test1中调用时最好用 
      String str=xhjava2.Aaaa1.aaa();还有一个建议:
      你最好检查一下你的java-home, 因为你的jre\lib\ext目录必须是
    <java-home>\jre\lib\ext才正确,方法如下:  public class ShowJavaHome {
        public static void main(String[] args) {
          System.out.println(System.getProperty("java.home"));
         }
       }Good luck!
      

  9.   

    我运行了java_home是C:\PROGRAM FILES\JAVA\J2RE1.4.0
      

  10.   

    我用的是WIN98 ,在autoexec.bat里set 的java_home=c:\j2sdk1.4.0\jre;
    可我由装了一个j2re1.4.0所以运行你的程序后的结果是C:\PROGRAM FILES\JAVA\J2RE1.4.0
      

  11.   

    Joeblackyang() 、neek2000(泥壳) 你俩说的对,我把JAR搞错了,包的路径错了。