Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Java文件方法导入另一个Java文件?_Java_Methods - Fatal编程技术网

如何将Java文件方法导入另一个Java文件?

如何将Java文件方法导入另一个Java文件?,java,methods,Java,Methods,我有两个Java文件,一个叫做Assign_2,另一个叫做ArrayMath。我想允许在Assign_2中使用ArrayMath的方法,如下所示: ArrayMath.arrayAddition(a, b); //Called ArrayMath from Assign_2.java 什么代码允许在Assign_2.java中使用ArrayMath.java方法 而ArrayMath.java是: public class ArrayMath { /** * Addition

我有两个Java文件,一个叫做Assign_2,另一个叫做ArrayMath。我想允许在Assign_2中使用ArrayMath的方法,如下所示:

ArrayMath.arrayAddition(a, b); //Called ArrayMath from Assign_2.java
什么代码允许在Assign_2.java中使用ArrayMath.java方法

而ArrayMath.java是:

 public class ArrayMath {

   /**
   * Addition for 2D Arrays method
   * 
   * @param theA and theB are 2D arrays from Assign_2
   *
   * @return sum to Assign_2 main program
   */

   public static int[][] arrayAddition(int[][] theA, int[][] theB) {
      int[][] sum = new int[theA.length][theA.length]; 
      for (int i = 0; i < theA.length; i++) {
         for (int k = 0; k < theA[i].length; k++) {
            sum[i][k] = theA[i][k] + theB[i][k];
         }        
      }  
      return sum;  
  }   
}
在中定义要作为静态导入ArrayMath.java的方法。 假设包装器类名为ArrayMath,将其设为公共方法,然后从Assign_2导入ArrayMath。 请参考类似ArrayMath.yourMethod的方法。
您需要将ArrayMath中的方法定义为public和static,例如:


为ArrayMath类创建对象后调用该方法:

然后调用Assign_2类中的方法,如下所示

ob.arrayAddition(a, b);

确保该方法是公共的。

您所要做的就是从ArrayMath创建一个对象,并使用Assign_2中声明的方法

例如:

阅读更多有关

的信息有多种方法 1.继承是一种关系
2.合成有一个关系-但如果有一个关系,您必须公开并静态地调用您的方法,以便从另一个类调用。

发布项目的结构。使用“extends”关键字继承..?或在ArrayMath类中使“arrayAddition”静态。使用完整代码更新op这不一定是真的,它可以是非静态的,并且仍然可以在另一个文件中使用。使一个方法是静态的实际上取决于设计。@marounnaroun我相信OP明确表示他想把它称为ArrayMath.arrayaadditiona,b;这意味着这个方法是静态的,除非OP忽略命名约定。这个问题没有很好的答案,我们对OP的设计一无所知。
public static void arrayAddition(int a, int b)
{
  // do something
}
ArrayMath ob = new ArrayMath();
ob.arrayAddition(a, b);
ArrayMath obj = new ArrayMath();
obj.arrayAddition(a, b);