• 《Java》private、protected、public区别及解析


    在这里插入图片描述
    我们今天来给大家解析一下Java中四种修饰类型的区别。
    那么有的老铁就疑惑了,文章名称不是说三种吗?其实还有一种隐藏的修饰类型(默认类型)英文翻译过来的话是defult,这就是我们什么都不修饰,例如:int a=0; 那么这个a就是默认类型的。我们今天将结合一个实例来帮助老铁们理解这块知识点

    首先我们知道,QQ这个东西我们用的都很熟系吧。他有很多增值业务。能让你享受到更多的特权以及更好的体验。而QQ中的会员是最有代表性的,我们将其划分为四项:普通用户、QQ会员(VIP)、QQ超级会员(SVIP)、QQ大会员

    private(普通用户)

    在这里插入图片描述

    private:代表封装的意思,对于一个手机的话,我们能看到的是有屏幕,机身,而内部的结构我们是看不到的,这就是封装的意义,使用范围是同一包中的同一类(普通用户功能)***
    在这里插入图片描述

    class Best{
        private int count;
        public int num;
    }
    
    public class Test {
    
        public static void main(String[] args) {
            Best best=new Best();
            best.count=1;
            best.num=2;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    我们可以看到,在使用best访问count是会变红的,代表不可以使用,那么被private修饰的变量在其他类如何访问呢?
    在这里插入图片描述

    class Best{
        private int count;
        public int num;
    
        public void setCount(int count) {
            this.count = count;
        }
    
        public int getCount() {
            return count;
        }
    }
    
    public class Test {
        public static void main(String[] args) {
            Best best=new Best();
            best.setCount(1);
            //best.count=1;
            best.num=2;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    很多老铁已经想到的,是的!就是利用公开的方法来帮助修改与输出count的值!
    对于QQ的普通用户也是一样的 ,如果想要使用尊贵的QQ会员才能够享受的功能,就必须动一点小脑筋。

    default(QQ会员)

    在这里插入图片描述

    默认类型,开头已经介绍了,对于定义一个变量不做任何修饰的话就是默认类型,他的使用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)
    在这里插入图片描述
    我们可以看到没有添加任何的修饰,我们的不同类还是可以访问的,那么同一个包是什么意思呢?

    在这里插入图片描述
    我们可以看到这个Demo1包,在这个包下的所有类都可以访问到这个变量
    也就是我们尊贵的QQ会员,享受到了尊贵的体验与区别,是的!充钱使你变得强大!

    protected(QQ超级会员)

    在这里插入图片描述

    protected:可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问,作用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)、不同包中的子类(QQ超级会员功能);

    是的,比 QQ会员要享受更多的特权,如果你感觉充钱还不够强!那么你可以再冲!

    在这里插入图片描述
    在这里插入图片描述

    这个在应用中会有很多需要注意到的点 首先是子类,要继承父类才可以使用,而且在使用中 为何我还要写一个func方法呢,我们是否还记得静态方法中不能直接访问,所以我们需要一个非静态的方法来进行访问,这就是func方法的意义,对的,即使你再次充钱了!还是达不到你起飞的地步

    public(QQ大会员)

    在这里插入图片描述

    对于老马旗下的游戏来说,只要你一直冲。你就是大佬,那么在你不断的金钱诱惑下,你也变得非常的强大了
    public:可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问,这就是顶级的QQ增值业务,拥有横穿各个区域的钞能力。
    是的!对于顶级用户(public)开通了大会员服务,任何的类跟包可以相互跳转使用,这无疑是体现了钞能力!

    作用范围是同一包中的同一类(普通用户功能)、同一包中的不同类(QQ会员功能)、不同包中的子类(QQ超级会员功能)、不同包中的非子类(QQ大会员)

    我们使用了QQ会员例子来给大家形象的举例了修饰限定符,不知大家理解了吗?

  • 相关阅读:
    CSS3 中 transition 和 animation 的属性分别有哪些
    [PAT练级笔记] 44 Basic Level 1044 火星数字
    EasyExcel低版本中数据行中包含空数据会跳过导致数据对应不上的问题解析
    vue2中如何跨组件调用方法涉及路由跳转以及实现方式
    基于python的智慧城市社区服务平台及养老服务子系统的设计与实现
    成都理工大学_Python程序设计_第8章
    简易表白小页面
    7.ProTable必填的查询表单
    盘点十大免费低/无代码开发软件,数字化转型看这里
    CAS:1609659-02-0_TCO-Amine_TCO-NH2-反式环辛烯(TCO)
  • 原文地址:https://blog.csdn.net/m0_69996872/article/details/127800072