访问级别修饰符决定了修饰的类型/变量/方法的作用范围(可访问范围)
顶级
顶级即独立的源文件,只有类/接口/枚举/注解,支持创建为顶级的独立源文件。
在C语言中,可以在源文件中创建独立的函数。
Java,必须先创建以上类型所有方法/变量/常量等等必须声明在以上类型
body大括号中无法脱离类型创建。即,不存在顶级的方法/变量/常量等。
如果声明为 public 则所有其他类可以访问。
无修饰符的默认声明 package-private ,仅包内可访问。
Package级允许源文件名与类型名称不同,Public级别则不允许。
可以再一份源代码文件中并列,而非嵌套声明两个类。
CC:禁止在一个源码文件中声明2个并列的类型,会严重降低代码的可读性
CC:package级类允许文件名与类名不同,但是禁止使用,会引起歧义
,降低代码的可读性。
必须定义在类型内的,称为Method方法,如Java语言;可以脱离类型独
立定义的,称为Function函数,如C 、JavaScript语言。即,严格意义,
Java中不存在函数,但Java8后已支持函数式编程
成员级
成员级(member level),声明在类型内部的,可以是,类/接口/变量/常量/方法等
Public,公有,全局可访问
package-private,包内可访问
Private,私有,类型内可访问
Protected,包中,及任意位置的子类可访问
级别仅说明可访问范围,与如何操作无关
方法内的局部变量,方法外无法访问。
private,仅类内部可以访问。在外部其他类中的方法,仅public课件,private均不可见。
Protected,类包/子类可访问,子类可访问protected方法。