【问题标题】:Java Package to include methods in other file用于在其他文件中包含方法的 Java 包
【发布时间】:2014-12-05 15:26:54
【问题描述】:

我想为我已经编写的许多方法创建一个“库”,然后在我的其他程序中使用这些方法。

一个编程示例是用 C++ 编写的:创建一个文件 header.hpp 和一个 test.cpp,在 test.cpp 中包含 header.hpp 的方法,使用:#include "header.hpp"。

在 java 中除了 package.json 之外没有其他选项。但我不知道这是如何工作的。我不想使用带有接口和实现的实际 OOP。

methods.java:

public class methods
{
   //methods here.....
}

test.java:以某种方式包含methods.java的方法。

谢谢。

编辑:

pkg.java

package pkg;
public class pkg
{

   public static void functionx(String x)
   {
      System.out.println("Hello ", x);
   }
}

test.java

import static pkg.A.m;
public class test
{
   public static void main(String args[])
   {
      functionx("Name");
   }
}

【问题讨论】:

  • 听起来你在关注import 声明...
  • 我认为您正在寻找的是静态声明这些方法,然后在您的其他应用程序中使用import。 Apache Commons 库就是一个很好的例子。 commons.apache.org

标签: java methods package


【解决方案1】:

可以在 Java 中导入静态方法。例如:

package pkg;

public class A {
    public static void m() {
        // do stuff
    }
}

然后,您可以静态导入该方法:

import static pkg.A.m;

class Test {
    void f() {
        m(); // use the static library method
    }
}

【讨论】:

  • 请注意,在大多数情况下,静态导入是不好的做法。我们使用命名空间是有原因的。来自docs.oracle.com/javase/1.5.0/docs/guide/language/…“那么什么时候应该使用静态导入?非常谨慎!”
  • 我收到此错误:methods.java:3: error: class, interface, or enum expected package com.methods; ^ 1 error
  • @Dr.Programmer 你的代码有很多问题。比如System.out.println不带两个参数,你把类命名为pkg而不是A,所以导入找不到导入的方法。我不确定你真正想要做什么。
【解决方案2】:

在java中也很简单:

如果你有一个类,例如:methods.java。您可以使用 eclipse 将其导出为 *.jar。

比将该 jar 添加到任何其他项目类路径并使用您编写的函数。

package com.methods;

public class methods
{
   //methods here.....
}

现在,在另一个项目中添加到类路径,您可以:

import com.methods.*;

//code here

【讨论】:

  • methods.java:3: error: class, interface, or enum expected package com.methods; ^ 1 error
  • 你能把包类和你导入类的类贴出来吗?
猜你喜欢
  • 2021-11-09
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多