控制对成员的访问权限的两个原因

本文深入探讨Java中的四种访问权限:public、protected、default和private,解释了这些权限存在的必要性及如何正确使用它们来保护类的内部实现,避免外部误用。

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

在初学java的时候,老师只是说,Java中有四种保护权限:

public 类内部 同包 子类 不同包的类

protected 类内部 同包 不同包的子类 

default 类内部内 同包的所有类

private 除了包含该成员的类之外,其他任何类都 无法访问这个成员(类内部)

--------------------------------------------------------------------------------------------

但是,为什么要有这些访问权限?

java编程思想第四版中是这样写的:

java编程思想 下载链接:https://pan.baidu.com/s/1DH8feOFfTC4dTAIWCxs7WA 密码:ib9i)

(客户端程序员即我们这些用 大神写好的类 的程序员,类库设计者就是专门写类的人了)。

    第一个原因是要设定客户端程序员可以使用和不可以使用的界限。可以在结果中建立自己的内部机制,而不必担心客户端程序员会偶然将内部机制当作是他们使用的部分接口。同时,这对于客户端程序员来说是一种服务,因为他们需要的只是调用他们需要的方法,而那些底层实现对他们来说其实是不重要的,这样可以简化他们对类的理解。

    第二个原因,也是最重要的原因,是为了让类库设计者可以更改类的工作方式,而不会影响对客户端程序员产生重大影响。例如,最初类设计者以一个简单的方式实现了某个类,而后面发现有更好的方式可以实现,可以大大提高运行速度。如果接口和实现可以明确地隔离和加以保护,那么就可以实现这一目的,而不必强制客户端程序员重写代码。访问权限控制以确保不会有任何客户端程序员依赖于某个类的底层实现的任何部分。

---------------------------------------------------------------------------------------------------------

综上所述,用访问权限,对于初学者来说,其实用的时候可能用处不大,老师会说,都用public,但是到了后期,随着对java的深入了解,用的时候也还是老师说用,那就用。

但是,为了养成良好的习惯,还是可以将那些私密的,涉及底层的实现的方法或者变量设置为private,让调用者不能随意更改;在继承的时候,子类要用的就设置为protected,涉及底层的同样可以设为私有;而对于那些要给外面用的方法或成员设为public,毕竟写类就是为了给别人用啊。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值