【java】权限修饰符default private protected public

本文深入探讨了Java中权限修饰符的重要性,从语言设计层面解释了为何需要权限修饰符,详细介绍了public、default、protected和private四种修饰符的使用场景及它们对类、对象、方法和变量访问权限的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 思考一个问题:为什么需要权限修饰符?
    1. 语言设计层面
      1.1 java是纯面向对象语言
      语法中不能在类外面定义单独的数据和函数 ,内部类除外(一种较为高级的用法)。代码的角度来看,访问数据和函数一般有两种形式:(1)[类名].[方法] / [类名].[变量] (2)[对象].[方法] / [对象].[变量] , 当然这里的变量是静态变量或者是常量,不是讨论的重点。能确定的是,一个类去访问一个类不能都直接访问其方法,而需要用到类名或者是类的对象。所以类和类、方法、变量的通讯必须要给他们一个权限的设置(没有修饰符的默认是完成default的权限修饰),不然维护所有变量成本是巨大的。
      类、对象、方法、变量简易代码

    2. 项目的组织形式
      项目 -》 … -》包 -》类
      这样看来,用包的视图来看,不同的类之间就有两种关系。第一种:类A和类B在同一个包内。第二种:类A和类B不在同一个包内。
      设想:
      2.1 要如何初步控制不同包之间类的通信?
      最简单的就是给类一个权限,定义类的被访问权限。
      2.2为什么不做成访问者和被访问者的双向权限呢?
      就好比交通事故追尾,后方车辆负全责。一是保持安全距离交规是硬规定,二是减少两车主定责上的诸多原因

      于是乎, 类的权限就出现了两种权限修饰符 public 和 default(不加public就默认为default)。 public 是可以给同包的类和不同包的类访问。default是只能给同个包的类访问。

  • 具体的权限修饰符: default private protected public

    1. 修饰的对象
      1.1 (外部)类 - 两种 (public default)
      1.2 类中封装的变量、常量、方法、内部类 (public default protected private)

对应访问权限:图片为转载

图片摘至:https://www.cnblogs.com/chuijingjing/p/9461165.html

  1. 拓展
    java设计模式中的单例模式使用private构造器,禁止外部通过new的形式新建实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值