Java 从另一个类访问静态方法

Java 从另一个类访问静态方法,java,compilation,Java,Compilation,我试图从另一个类访问静态方法,如: package mersennepackage; public class A { public static void foo() { ... } } 及 我已经编译了A.java,类文件位于我的桌面上: /Users/usr/Desktop/primespackage/mersennepackage 现在,如何使用B.java中的A.java?有人能告诉我编译和执行命令吗?我在MacOsx平台上工作 我的完整代码是classMersenneP

我试图从另一个类访问
静态
方法,如:

package mersennepackage;

public class A {
    public static void foo() { ... }
}

我已经编译了
A.java
,类文件位于我的桌面上:
/Users/usr/Desktop/primespackage/mersennepackage

现在,如何使用
B.java
中的
A.java
?有人能告诉我编译和执行命令吗?我在MacOsx平台上工作


我的完整代码是class
MersennePrime
as
A

package mersennepackage;

public class MersennePrime {
    public static boolean checkForMersenneprime(int n) {
        int i;
        double d;
        d = Math.log(n + 1) / Math.log(2);
        i = (int)(Math.floor(d));
        if (d - i == 0)
            return true;
        return false;
      }
}
TwinPrimes
as
B

import java.util.*;
import java.primespackage.mersennepackage.*;

class TwinPrimes {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the number");
        System.out.println(MersennePrime.checkForMersenneprime(sc.nextInt()));
    }
}

首先,您需要将MersennePrime类中的包名编辑为primespackage.mersennepackage

package primespackage.mersennepackage;

public class MersennePrime{
    public static boolean checkForMersenneprime(int n){
         int i;
         double d;
         d=Math.log(n+1)/Math.log(2);
         i=(int)(Math.floor(d));
         if(d-i==0)
         return true;
         return false;
   }
}
然后像这样修改导入语句

import java.util.*;
import primespackage.mersennepackage.*;

public class TwinPrimes{
     public static void main(String[] args){
         Scanner sc = new Scanner(System.in);
         System.out.println("Enter the number");
         System.out.println(MersennePrime
               .checkForMersenneprime(sc.nextInt()));
    }
}
然后压缩primespackage文件夹/目录 并将primespackage.zip重命名为primespackage.jar
下一步使用以下命令进行编译:

javac -cp "primespackage.jar" TwinPrimes.java 
-cp用于将文件jar到类路径

这就是我们要运行的:

java -cp "primespackage.jar" TwinPrimes 

请使用IDE。不从计算机上的随机文本文件编译JavaDesktop@usr123:你说的是
PrimeMain
,但我刚才看到的是
TwinPrimes
类。这里有一个小错误。我不明白你的问题和那些主要的东西有什么关系。你的问题基本上就是“如何从另一个类调用一个方法”。您可以简单地从问题中删除所有不相关的内容,并用3行显示一个示例:
public class A{public static void foo(){…}
public class B{public static void main(String[]args){B.foo();}
。如果您认为我完全错过了您的观点,请随时恢复我的编辑。感谢您指出错误!!现在开始工作了。
java -cp "primespackage.jar" TwinPrimes