【问题标题】:Is it possible to have a java program with just import statement是否可以有一个只有 import 语句的 java 程序
【发布时间】:2014-01-12 19:02:03
【问题描述】:

我看到了其中一个链接Can we write a program without a class in core Java?

所以通过这个,看起来我们不能有一个没有至少一个类的 java 程序。

但我们有一些要求,例如,

我有一个测试 Java 程序,例如:

package dashboardName;
import org.testng.Assert;
import org.testng.annotations.Test;
import pojoclass.MpsPojo;
import mpsLogicPack.MpsLogic;
public class TestLogic {

        MpsPojo mpspojon = new MpsPojo();
        MpsLogic mpslogicn = new MpsLogic();
        @Test
        public void firstTest() {

                        mpspojon.setMfr("m1");
                        mpspojon.setProd("p1");
                        mpspojon.setSchema("sch1");
                        mpslogicn.calculateAssert(mpspojon);
                        System.out.println("Printing from Final class");
                        }
}

这个包的名字是dashboardName。

如果我要编写一个只有dashboardName 的import 语句的java 程序。喜欢:

FinalTest.java

 import dashboardName.TestLogic;

所以如果我执行这个,结果应该是什么。目前这显示没有错误,但显示没有测试运行。

这可能是一个愚蠢的问题,因为我属于 Perl 背景并切换到 Java。所以请原谅。

谢谢

【问题讨论】:

  • @HernánErasmo 不正确,您可以仅使用 static 块运行 Java 程序,请参阅 OP 链接的答案。
  • @PetrMensik 哎呀,对不起。猜猜你每天都会学到一些东西。谢谢!
  • 这似乎很容易自己尝试。

标签: java maven


【解决方案1】:

import 语句只存在于编译时;他们告诉编译器如何扩展不合格的类名。因此,例如,import dashboardName.TestLogic; 仅表示类名 TestLogic 的所有出现都应扩展为 dashboardName.TestLogic。但是如果你没有类名TestLogic,那么这没有任何效果。

【讨论】:

  • 所以,我得出的结论是,如果我必须编写一个有用的 Java 程序,那么它至少应该有一个类。非常感谢。
【解决方案2】:

假设我正确理解了您的问题,那么不会。导入基本上只是一个查找列表,其中确切的类与您在实际应用程序代码中使用的短名称匹配(或更正式地说,您正在使用的完全限定名称)。

另一方面,如果您将所有类放在同一个目录中并且只使用来自java.langjava.util 的系统类,则完全可以不使用导入。

【讨论】:

    【解决方案3】:

    没有课程就无法跑步。为了执行 java 程序,你应该有一个 main() 方法,你需要一个类。或者你可以使用一个类的静态初始化块,当然,你需要一个类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多