一个java文件可以有多个类,但只能有一个与java文件名同名的public类

时间:2021-11-28 19:53:30
转载自:http://scorpiomiracle.iteye.com/blog/578115
Java代码   一个java文件可以有多个类,但只能有一个与java文件名同名的public类
  1. package com.test;  
  2.   
  3. public class A{  
  4.  int i = 0;  
  5. }  
  6.   
  7. class B {  
  8.  String str = "b";  
  9. }  
  10.   
  11. class C {  
  12.  String str = "c";  
  13. }  
  

编译后的class文件: 
1.在一个文件里定义了几个类的时候,: 
Java代码   一个java文件可以有多个类,但只能有一个与java文件名同名的public类
  1. public class A {}     
  2. class B {}     
  3. class C {}  
   
  这样每个class会生成一个 .class文件   
    
2.定义了内部类的时候, 
Java代码   一个java文件可以有多个类,但只能有一个与java文件名同名的public类
  1. public class A {     
  2.        class B {     
  3.        }     
  4. }  
   
  这会产生两个class文件,一个A.class,一个A$B.class   
    
3.使用了匿名类的时候,  
Java代码   一个java文件可以有多个类,但只能有一个与java文件名同名的public类
  1. public class A {     
  2.         void xxx() {     
  3.             button.addActionLisener(new ActionListener() {...});     
  4.         }     
  5. }   
   
  这也会产生多个class,一个A.class,一个A$1.class