一个“java”源文件中是否可以包括多个类?有什么限制?

一个.Java源文件中可以有多个类吗?(内部类除外)有什么条件?带着这个疑惑,动手建几个测试类,

揭开心中的疑惑。以下是解开疑惑过程:

 package test;
/**
 * 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件? 
 * 可以的   
 *但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。
 *如果都没有public类,名字可以不和这个类一样。
 */
public class MultiClass {
 int i = 0;
}

class B {
 String str = "b";
}

class C {
 String str = "c";
}  
/*源文件javac出多个class文件出来!是怎么回事?
1.   你在一个文件里定义了几个类的时候,会出现这种情况,比如   
  public   class   A   {}   
  class   B   {}   
  class   C   {}   
  这样每个   class   会是一个   .class     文件   
    
  2.   你定义了内部类的时候会出现这种情况,如   
  public   class   A   {   
          class   B   {   
          }   
  }   
  这会产生两个   class   文件,一个   A.class,一个   A$B.class   
    
  3.   使用了匿名类的时候出出现这种情况,如   
  public   class   A   {   
          void   xxx()   {   
                    button.addActionLisener(new   ActionListener()   {...});   
          }   
  }   
  这也会产生多个   class,一个   A.class,一个   A$1.class   
  }

 */


from:http://blog.csdn.net/lu7kang/archive/2009/04/11/4064688.aspx

猜你喜欢

转载自blog.csdn.net/a190943540/article/details/79245045