private \ default \ protected \ public  的作用域都是针对类、子类、包,是不是java文件对作用域而言,是没有什么意义的?

解决方案 »

  1.   

    不好意思,问题有点小白,private是类内部、protected是包内包括子类、public是跨包,没有哪个作用域是以JAVA文件为界的,所以把几个class写在一个java文件里,和一个java文件里写一个class是没有任何区别的,是不是这样的?
      

  2.   


    一个 java 源文件最多只能有一个 public 类,你说呢?另外,default  是同一个包可以访问
      

  3.   


    一个 java 源文件最多只能有一个 public 类,你说呢?另外,default  是同一个包可以访问
    不好意思,不够准确,应该是说一个 java 源程序文件里,最多只能有一个 public 非内部类
      

  4.   

    *.java文件被编译成*.class文件之后,每一个类都会单独形成文件,源程序文件中的类名相当于二进制码文件的文件名。
    而源文件中规定一个文件中最多有一个共有非内部类,我想这种设计是为了便于规范源文件的命名。
    至于这种设计有没有必要,我想说C#源文件中文件名和类之间就没有直接关系。
    如果LZ有幸能够设计一种原创的计算机语言,完全可以采用全新的理论,甚至可以完全抛弃类和方法(函数)等传统语言的概念。
      

  5.   

    哈哈,自认为还不是完美主义者,只是想弄清楚JAVA究竟是什么规定的
      

  6.   

    非要纠结这个的话,的确是没什么用
    用ASM可以直接写出字节码,文件都不需要