5-11-Java-访问控制修饰符、static、static final常量、枚举

一、访问控制修饰符

        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;   属于类的,存储在方法区中,类名打点访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值