一、.java 文件中可以有几个同级类?
在一个.java 文件中可以有多个同级类(和 public 一样的位置,注意不是内部类). 其修饰符只可以 public/abstract/final/和无修饰符,不能是其他的 protected/private 等修饰符。所以 protected 类虽然可以在包内访问,但是也必须定义在另外类里面,protected 主要是保护子类访问,因此个人觉得其他类就尽量不要使用,便于规范;
不使用任何修饰符声明的属性和方法,对同一个包内的类是可见的。
接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。
public:跨包可访问
无修饰符:包内可访问
public 修饰的只能有一个,且必须要与文件名相同;若没有 public 的则可与文件名不同。注意不是内部类
该文件同级的类之间可以互相调用,但是除了 public 的类,其他不能够在其他文件调用。
在一个.java 文件中由类/Enum/接口/Anontation 其中至少一个类型组成。单独一个方法/变量不能独自存在与文件中,所以公用方法的封装也是做成类方法。原因是 java 是类加载机制,需要编译一个 java 文件成多个 class 文件,当类来使用。java 文件的命名也是按照类名命名。也说明 java 面向对象的思想体现非常充分,不像 C/C++可以单独一个方法一个文件。
编译一个 java 文件会生成多个 class 文件
假设Test.java文件中: