【问题标题】:how to use a class in the java file containing multiple classes如何在包含多个类的java文件中使用一个类
【发布时间】:2014-11-23 10:57:06
【问题描述】:

例如,

//Package1/File1.java
class A{
...
}

public class File1{
...
}

如何在不同的 File2.java 中使用 A 类? A 属于什么包? Package1 还是默认?谢谢!

【问题讨论】:

  • 尝试google一下,网上有很多解释。
  • 从一本好的教科书开始学习java吧!

标签: java class syntax


【解决方案1】:

这两个文件与 package1/file1.java 属于同一个包。 看到这样理解:像file1.java这样的类可以有许多子类作为“类A”,但公共类只能是与文件(file1.java)类同名的类。 我想我在这里有些道理。

【讨论】:

    【解决方案2】:

    这很简单。在 File2.java 的 main 方法中创建类 File1 的实例,并在那里完成所有工作。

    //package1/File2.java
    
    public class File2
    {
        ...
    }
    
    public File2()  //constructor
    {
    
    }
    
    //Main method
    public static void main(String[] args)
    {
        File1 f1 = new File1();
        //do your rest of the work here
    }
    

    您不能使用 File2.java 中的 A 类,因为它不是公共的,而且 .java 文件中不能有多个公共类。

    为了访问File2.java中的类A,你必须在另一个名为A.java的java文件中创建另一个名为A的java类,然后将这个A类公开,并在File2.java中创建A的实例。

    内部A.java

     //package1/A.java
     public class A{
        ...
     }
    
     public A() //constructor
     {
         ...
     }
    

    现在在File2.java

     //package1/File2.java 
     public class File2()
     {
         ...
     }
    
     public static void main(String[] args)
     {
         A objA = new A();
         //do your rest of the work here
     }
    

    通过以下链接更好地理解:Why can't two public classes be defined in one file in java?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2020-01-20
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多