【问题标题】:Can I declare objects of many non-main class into a file other than the main executable Java file? If so, how: can it be a class, etc.?我可以将许多非主类的对象声明到主可执行 Java 文件以外的文件中吗?如果是这样,如何:它可以是一个类等吗?
【发布时间】:2020-11-06 14:19:58
【问题描述】:

例如: 我有主文件 1,以及 Classes Class1、Class2、Class3

public class Foo{
    public static void main(String[] args){
        Class1 data = new Class1();
        Class1 data2 = new Class1();
        Class2 data3 = new Class2();
        Class3 data4 = new Class3();
        code...;
}

是否可以将前面代码中的许多对象声明移动到另一个文件(我会说,“实例”或“对象”文件),从而输出为 2 个文件?:

文件 1:

public class Foo{
    public static void main(String[] args){
        //Snippet for "importing" the objects in File 2, suppose import instances;
        code...;
}

文件 2(至少是我认为的文件格式):

public objects instanceFile
        Class1 data = new Class1();
        Class1 data2 = new Class1();
        Class2 data3 = new Class2();
        Class3 data4 = new Class3();

【问题讨论】:

  • 不,不是那样。但是您可以将data ... data4 放在另一个容器类K(例如public final Class1 data;)中,并在Foo 中创建一次K 类的对象k,并通过k.data1k.data4 访问初始内容;
  • Java 文件只能包含类定义而不包含对象定义(与 Scala 和 kotlin 不同)。您可以创建另一个类作为这些类的组合。但您仍然只能导入静态对象(通常是常量)。

标签: java class oop object external


【解决方案1】:

您只能导入静态对象。 jdk 中的一个例子是java.lang.Math 类中的 pi 常量。

   import static java.lang.Math.*;
   // or
   import static java.lang.Math.PI;

更多关于static import的详情

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 2018-04-17
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多