• 一个java源文件多个类产生的class文件


     一个.java源文件中可以有多个类吗?(内部类除外)有什么条件? 

     * 可以的   
     *但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样
     *如果都没有public类,名字可以不和这个类一样。

    public class MultiClass {
        public static void main(String[] args)
        {
            new MultiClass();
        }
     int i = 0;
    }
    
    class B {
     String str = "b";
    }
    
    class C {
     String str = "c";
    }  

    bin目录中会产生3个class文件:

    MultiClass.class B.class C.class


    /*源文件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   
      }


    bin的class文件不同同名。所以我们定义的所有的类(除了内部类和匿名类)都应该不一样。否则报错

  • 相关阅读:
    day17 内置方法、数学模块、randrange随机模块、序列化模块pickle
    线性模型L2正则化——岭回归
    KMP算法
    KNN算法:KNN-classifier和KNN-regressor
    机器学习开篇——编译器的选择
    STL好坑
    树状数组学习笔记
    无题
    最小树形图:朱刘算法
    2019ICPC徐州站题解
  • 原文地址:https://www.cnblogs.com/youxin/p/2722757.html
Copyright © 2020-2023  润新知