【问题标题】:Mix Java 5.0 and Java 6.0 Code混合 Java 5.0 和 Java 6.0 代码
【发布时间】:2011-02-03 21:15:19
【问题描述】:

我有一个在java 5.0下开发的模块

package mypack;

class MessageParser {
    public MessageParser(String s) {
    ......
    }
}

我有另一个在java 6.0下开发的模块

import mypack;
......
String str = someString;
MessageParser parser = new MessageParser(str);
......

但是我得到了错误 “找不到符号构造函数 MessageParser(java.lang.String)”

顺便说一句:我使用的 IDE 是 intellij idea

谁能告诉我为什么以及如何让它工作?

【问题讨论】:

  • java 5 代码是否只能作为 jar/class 文件使用,还是可以在 java 6 下重新编译?

标签: java intellij-idea version java-6 java-5


【解决方案1】:

这与 Java5-6 关系不大。

您的类路径中可能有不同的版本。

仔细检查您在 Java 6 代码中使用的 jar/文件,并三重检查它是否与您在 Java 5 版本中看到的相对应。很可能您看到的是没有构造函数的旧版本。

【讨论】:

    【解决方案2】:

    此问题与 java 版本无关,但我认为您正在尝试将第二个类与旧版本的第一类再次编译,该版本不包含带有一个字符串 arg 的构造函数。

    【讨论】:

      【解决方案3】:

      这与 Java 版本无关,但与您尝试连接“模块”的方式有关 - 这些是如何定义的?作为 JAR 文件?你在使用 IDE 吗?

      嗯,首先,import mypack; 不会导入mypack 中的任何类。您必须同时列出该类或使用通配符:

      import mypack.MessageParser;
      

      import mypack.*;
      

      【讨论】:

        猜你喜欢
        • 2016-06-21
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2019-05-16
        • 2012-12-09
        • 2013-12-16
        • 1970-01-01
        相关资源
        最近更新 更多