zoukankan      html  css  js  c++  java
  • 面试小结(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   
      }

     */

    java文件允许有多个class,但是只能有一个用public修饰。因为java的编译机制是从这个public开始的。如果,你加的这个里面方法不是public static void main(),编译机制就会出错了。而且,你加的这个public的class名必须是你java文件的文件名,否则也无法编译。

    package testclass;
    
    public class classone {
    
    
        public static void main(String[] args) {
            Test tes=new Test();
            Test.innertest inner=tes.new innertest();
            inner.names();
            
            System.err.println("main");
            tes.name();
        }
    }
    class Test{
        public class innertest{
            public void names()
            {
                System.err.println("test");
            }
        }
        public void name() {
            System.err.println("Test");
        }
    }
  • 相关阅读:
    对称加密与非对称加密
    mysql 数据库备份
    Linux安装VM虚拟机
    Ubuntu安装桌面
    POM 总是提示找不到依赖
    Wine解决界面乱码
    There was an unexpected error (type=Not Found, status=404). /WEB-INF/views/login.jsp
    Linux打开chm文件
    vim 查找模式
    spring总结(02)注解
  • 原文地址:https://www.cnblogs.com/wuyuankun/p/3730771.html
Copyright © 2011-2022 走看看