• 一个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文件不同同名。所以我们定义的所有的类(除了内部类和匿名类)都应该不一样。否则报错

  • 相关阅读:
    WPF开发经验
    权限管理系统项目心得
    《鸟哥的Linux私房菜》笔记——02. 关于Linux
    《鸟哥的Linux私房菜》笔记——01. 计算机概论
    「JavaSE 重新出发」02.02 引用数据类型
    「JavaSE 重新出发」02.01 基本数据类型
    「JavaSE 重新出发」02. 数据类型与运算符
    「JavaSE 重新出发」01. Java介绍
    cmd 与 网卡(netsh 命令)
    Python 基础总结
  • 原文地址:https://www.cnblogs.com/youxin/p/2722757.html
Copyright © 2020-2023  润新知