包and权限修饰符and枚举and常量(理论)

65 阅读2分钟
//包
包是用来分门别类的管理各种不同类的,建包利于程序的管理和维护
导包
相同包下的类可以直接访问,不同包下类必须导包才能使用,导包格式:import 包名.类名
如果一个类中需要使用不同包下的相同类名,此时默认只能导入一个类的包另一个要用全名(带包名)访问 

//权限修饰符
权限修饰符是用来控制一个成员能够被访问的范围
权限修饰符可以修饰变量、方法、构造器、内部类,不同权限修饰符的成员能够被访问的范围将受到限制

private 同一个类可以访问
缺省 同一个类以及同一个包的其他类可以访问
protected 同一个类以及同一个包的其他类和不同包下的子类可以访问
public 公开访问
由小到大为 private -> 缺省 -> protected -> public

//final
final关键字是最终的意思,可以修饰(类,方法,变量)
修饰类:表面该类是最终类,不能被继承
修饰方法:表面该方法是最终方法,不能被重写
修饰变量:表示该变量第一次赋值后,不能再次赋值(有且只能赋值一次)

//final修饰变量的注意事项:
final修饰的变量是基本类型,那么变量储存的数据值不能发生改变
final修饰的变量是引用类型,那么变量储存的地址值不能发生改变,但是地址指向的对象内容可以发生变化

//常量
常量是使用public static final修饰的成员变量,必须要有初始化值,而且执行过程中值不能发生改变
常量的作用:可以用于做系统的配置信息,方便程序维护,同时也提高可读性
常量的命名规范:英文单词全部大写,多个单词用下划线连接

//常量的执行原理
在编译阶段会进行"宏替换",把使用常量的地方全部替换成真实的字面量
这样做的好处是使用常量的程序的执行能与直接使用字面量是一样的

//枚举
枚举是Java中的一种特殊类型
枚举的作用:是为了做信息的标志和信心的分类
//定义枚举的格式:
修饰符 enum 枚举名称{
第一行都是罗列枚举类实例的名称
}
enum Season{
SPRING,SUMMER,AUTUMN,WINTER
}
//选择常量做信息标志和分类
虽然实现了可读性,但是入参值不受约束,代码不够严谨
//枚举做信息标志和分类
代码可读性好,入参约束严谨,代码优雅,是最好的信息分类技术,建议使用
//总结
表示具体数据值是使用常量
做信息分类时使用枚举
```