博客
关于我
private\默认\protected\public权限修饰符的区别
阅读量:662 次
发布时间:2019-03-15

本文共 828 字,大约阅读时间需要 2 分钟。

private、默认、protected、public 权限修饰符的区别

1. 可见性修饰符的基础认识

可见性修饰符,通常用来限定类成员的可见性,有时也称为可访问性修饰符。主要的修饰符包括 privateprotectedpublic,而 default 作为没有明确使用时的默认修饰符,也在相关内容中具有特殊含义。

在可见性修饰符中,privateprotecteddefault 属于可见性递增的概念,而 public 则与其他修饰符不同。其中,privateprotected 只能用于类成员的修饰,而 publicdefault 既可以用于类成员,也可以用于类本身。这种区别对于理解相同层级的可见性修饰符至关重要。

2. 类成员的可见性

在Java中,类成员的可见性取决于修饰符的选择。不同修饰符在同一类内或跨包的环境中表现各异:

修饰符 同一类可访问 同一包可访问 子类可访问(不同包) 不同包直接访问
public
protected 不可(需明确引用)
default 不可(默认行为) 不可(需明确引用)
private 不可(需引用) 不可(需引用) 不可

通过修饰符的不同组合,可以实现对类成员的细粒度控制。public 的作用最大,因为它允许任何位置访问。protected 则允许在子类中或在同一包中访问,而 private 则最大程度地限制访问,只在同一类或通过包访问。

3. 修饰符的限定范围

每种修饰符都有明确的限定范围:

  • private:限定在类内部,不可从包外或其他类访问。
  • default:默认行为,通常在未明确指定修饰符时具有一定的可见范围。
  • protected:允许在包内或所有子类中访问。
  • public:无限制,允许任何类和包访问。

这种区别是理解封装和信息隐藏机制的关键。不同的修饰符根据其限定范围,允许开发者在不同层面上对类成员进行访问控制。

转载地址:http://kmzqz.baihongyu.com/

你可能感兴趣的文章
PageHelper分页查询遇到的小问题
查看>>
PageHelper实现分页详细版、整合SSM应用
查看>>
PageHelper常见问题
查看>>
SpringBoot中配置为开发模式,代码修改后不用重新运行
查看>>
springboot中pom.xml、application.yml、application.properties
查看>>
PageHelper:上手教程(最详细)
查看>>
PageOffice如何实现从零开始动态生成图文并茂的Word文档
查看>>
PageRank算法
查看>>
Paint类(画笔)
查看>>
paip. 调试技术打印堆栈 uapi print stack java php python 总结.
查看>>
paip.android 手机输入法制造大法
查看>>
paip.spring3 mvc servlet的配置以及使用最佳实践
查看>>
Palindrome Number leetcode java
查看>>
Palo Alto Networks Expedition 未授权SQL注入漏洞复现(CVE-2024-9465)
查看>>
Palo Alto Networks Expedition 远程命令执行漏洞(CVE-2024-9463)
查看>>
Palo Alto Networks PAN-OS身份认证绕过导致RCE漏洞复现(CVE-2024-0012)
查看>>
Panalog 日志审计系统 libres_syn_delete.php 前台RCE漏洞复现
查看>>
Springboot中@SuppressWarnings注解详细解析
查看>>
Panalog 日志审计系统 sprog_deletevent.php SQL 注入漏洞复现
查看>>
Panalog 日志审计系统 sprog_upstatus.php SQL 注入漏洞复现(XVE-2024-5232)
查看>>