如何使用另一个类/文件中定义的java方法

时间:2013-07-15 03:29:33

标签: java packages

我一直在研究Project Euler中的一些问题,并且在这个过程中,编写了很多有用的方法(在Java中),我可能想在其他Java项目中使用它们。我希望能够以从java.lang.math调用函数的方式调用它们,所以如果我有一个方法primeFactor(),我可以使用MyMathMethods.primeFactor(number)来调用它。我该怎么做?我会制作一些我可以导入的包裹吗?我是否会创建一个包含所有有用的数学函数的超类,并且在新项目中使用我正在使用的任何类?可能有多种方法可以做到这一点,但我不知道什么是最好的。提前谢谢。

5 个答案:

答案 0 :(得分:3)

将您的实用程序方法标记为public static.将包含这些实用程序方法的类打包到jar中。在项目中添加/引用该jar,您要在其中使用。然后在您的代码中,您可以以静态方式调用它们:MyUtilityClass.myUtilityMethod();

答案 1 :(得分:1)

对于这种情况最好的事情是在有意义的包中工作并制作他们的罐子 您可以创建一个像

这样的包
/* File name : Animal.java */
package animals;

    interface Animal {
       public void eat();
       public void travel();
    }


同样在班上

package animals;

/* File name : MammalInt.java */
public class MammalInt implements Animal{

   public void eat(){
      System.out.println("Mammal eats");
   }

   public void travel(){
      System.out.println("Mammal travels");
   } 

   public int noOfLegs(){
      return 0;
   }

   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
} 

你可以像上一样导入它们 import animals.*;或更具体import animals.MammalInt;

现在您可以制作jar文件,将其导入项目并使用其方法
你可以通过这个命令轻轻地做到这一点jar cmf MyJar.jar Manifest.txt MyPackage/*.class
For more details about jar creation please see this
作为旁注:在打包时要小心会员和功能的可见性因为我们的使用和可访问性很重要正在使用它们

答案 2 :(得分:0)

您可以仅使用util类创建单独的java项目,然后创建jar文件并导入到任何其他项目中。

答案 3 :(得分:0)

简单地实例化该课程。与您的示例一样,如果您的类MyMathMethods具有函数primeFactor(number),那么在其他类中,只需使用类似private MyMathMethods myMathMethods;的实例化它。现在,要调用该函数,只需执行myMathMethods.primeFactor(number);您也可能需要导入其包。

答案 4 :(得分:0)

对包的错误理解是包中定义的任何类对所有其他类都是可见的。根据我的经验不正确。如果您有包含实用程序样式方法的类,您希望在另一个类中使用它?只需在需要该方法的类中声明该类的新实例。类似于...私有MathUtilsClass mathUtilsClass = new MathUtilsClass():然后,您要从此类调用的任何方法都使用新标识符,例如: mathUtilsClass.greatFunction();这非常简单,应该可以解决您的问题。