文件编译,不存在与文件名同名的类

时间:2014-06-26 17:55:07

标签: java compilation

我对下面的代码有疑问。尽管我把文件保存为Newclass.java.It并没有提示我创建一个公共的Newclass,因为我们总是说包含main函数的公共类应该是文件名的名称。为什么反过来不成立? 附:此代码中没有错误。工作正常,输出 - >调用。我也明白MAIN本身就是一个类。它在包中有它的类文件。

abstract class Base 
 {
 void fun()`{ }
 }

  class Derived extends Base 
 { 
  void hello()
{  
     System.out.println("derived called");
   }

   void fun() 
 {
     System.out.println(" called");
  }

    }

   class MAIN
 {
    public static void main(String args[]) 
   { 
     Base b = new Derived();
      b.fun();
   }

 } 

1 个答案:

答案 0 :(得分:2)

since we always say the public class containing the main function should be the name of the file name.

文件名应与文件中定义的public类相匹配。每个public文件只能有一个.java个类。您的文件中没有public个类,因此可以将其命名为任何内容。