Java 中的包、访问修饰符及文件输入输出
1. 包的概念与命名规则
包在 Java 中具有重要作用,它不仅可以用来标识拥有类的个人、公司或组织,还能为类、变量和方法提供额外的保护级别。包名应遵循一定的命名约定,通常为小写,并且要以顶级域名(如 com、edu、mil、net、org 或两位 ISO 国家代码)作为前缀,二级名称一般是标识符,比如公司名称。例如,Sun 公司为其用 Java 编写的产品使用 com.sun 包名。
2. 访问修饰符对包的影响
Java 中的类使用访问修饰符来定义其他类对其变量、方法和类本身的访问权限,主要的访问修饰符有:
- public :最宽松的访问修饰符。公共类、变量或方法可以被任何其他类无限制地访问,即使是不同包中的类也能访问公共特性。通常,变量不会直接设为公共的,而是通过公共方法来访问,以保护变量不被破坏。
- private :最严格的访问修饰符。私有变量或方法只能由声明它们的类的实例访问,其他类(无论是否在同一包中)都无法访问私有特性,子类也不能访问父类的私有特性。除了内部类,类不能声明为私有。私有方法为声明它们的类执行特定工作,让其他类访问这些方法通常是无用且危险的,大多数实例变量是私有的或至少是受保护的。
- protected :比 public 严格,但比 private 宽松。顶级类不能有受保护的访问权限,只有变量、方法和内部类可以被保护。受保护的特性可以被声明它们的包内的所有类访问,此外,位于不同包中的子类可以访问其父类的受保护特性,但非子类不能访问不同包中其他类的受保护特性。