java - 如何从默认包中导入类

标签 java java-native-interface native-methods default-package

Possible Duplicate: How to access java-classes in the default-package?


我正在使用 Eclipse 3.5,并且我创建了一个带有一些包结构以及默认包的项目。我在默认包中有一个类 - Calculations.java,我想在任何包中使用该类(例如在 com.company.calc 中) .当我尝试使用默认包中的类时,它给了我一个编译器错误。它无法识别默认包中的类。问题出在哪里?

Calculations.java - 源代码

public class Calculations {
    native public int Calculate(int contextId);
    native public double GetProgress(int contextId);
    static  {
        System.loadLibrary("Calc");
    }
}

我不能将我的类(class)放在任何其他包中。这个类有一些在 Delphi 中实现的本地方法。如果我将该类放在任何文件夹中,我将不得不更改我想要避免的那个 DLL(真的 - 我不能)。这就是为什么我把我的类放在默认包中。

最佳答案

来自Java language spec :

It is a compile time error to import a type from the unnamed package.

您必须通过反射或其他间接方法访问该类。

关于java - 如何从默认包中导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2193226/

相关文章:

gwt - Tomcat 中找不到 native 库

node.js - jsdom - document.querySelector 已启用,但文档中缺少

java - Android OCR 原生库

java - NullPointerException - 使用 fragment 中的位置

java - 如何在 Java 中的简单 HTTP Web 服务器中读取客户端的输入?

java - 用于基于 map 调用 Java setter 的 Clojure 宏?

java - 如何在不可变类中使用带有参数的构造函数 NO_CONSTRUCTOR 来修复 "Failed to instantiate ' className'

java - 在 native 代码崩溃后,什么可以阻止 JVM 退出?

java - 重命名包破坏了 JNI 函数 Android Studio

android - 找不到 native 方法 org.opencv.core.mat.n_mat-Android