一、访问控制修饰符
1.作用:保护数据的安全(隐藏数据、暴露行为),实现封装
2.四种控制修饰符
①:public:公开得,任何类
②:protected:受保护的,本类、派生类、同包类
③:默认的:什么也不写,本类、同包类
④:private:私有的,本类
3.
①:类的访问权限只能是public或者默认的
②:private<默认的<protected<public
二、static
1.表示静态的
2.设计
①:静态块
由static修饰的语句块即为静态块
属于类,在类被加载期间自动执行(类只加载一次,所以静态块也只执行一次)
应用:初始化/加载静态资源(静态变量)(给静态变量初始化)
②:静态变量
由static修饰的成员变量为静态变量
属于类,存储在方法区中,只有一份,类名打点访问
应用:对象所共享的数据
③:静态方法
由static修饰的方法即为静态方法
属于类,存储在方法区中,只有一份,类名打点访问
静态方法中没有隐式this传递,不能直接访问实例变量/实例方法
应用:方法的操作与对象无关(不需要访问对象的属性/行为)
三、static final常量
1.必须声明同时初始化
2.通过类名打点来访问,不能改变
3.常量名所有字母大写,多个单词之间用_来分隔
4.编译器在编译时,会将常量直接替换为具体的数,所以效率高
5.应用:在程序运行过程中数据永远不变,并且经常使用
四、枚举
1.是一种引用数据类型
2.枚举类型的对象数目是固定的,常常用于定义一组常量(季节,星期,月份,性别...)
3.所有枚举默认都继承自Enum类,其中提供了一组方法供我们使用
4.构造方法是私有的
5.
五、补充
1.数据(成员变量)私有化(private),行为(方法)大部分公开化(public)
2.getter/setter:行业标准(可以选择性存在)
3.接口中成员的默认权限为public,重写方法时要求访问权限必须大于或等于超类
4.成员变量分为两种:
实例变量:int a; 没有static 修饰,属于对象,存储在堆中,引用打点访问
静态变量:static int a; 属于类的,存储在方法区中,类名打点访问