java是一个关于封装的问题 4 月,2 周 Questions & Answers 818 我知道封装是将成员及其行为绑定到一个实体中。这让我觉得成员们必须是私人的。这是否意味着具有公共成员的类未遵循100%封装规则 谢谢
# 4 楼答案 这意味着内部字段(要封装在类中的字段)应该是私有的,只能通过getter、setters、property等公开。隐藏和绑定类的内部成员,并通过特定框架java(getter setters)中提供的某种方法控制访问。net(属性)等是封装 并回答您的问题:为什么要实现封装对其进行优化,以便控制对类内部成员的访问。例如,如果您有一个整型字段,您只想将其设置为1到10之间的值。如果直接公开整数字段,则没有任何机制可以阻止使用者将值设置在所需范围之外。但是,可以通过封装实现这一点,方法是通过setter或属性公开内部int字段,从而允许在setter或属性中添加验证代码,以“监控”内部字段中设置的值 享受吧
# 1 楼答案
封装既是数据绑定,也是数据隐藏。Java允许你公开数据,但如果你选择这样做,你应该有一个很好的理由。默认情况下,成员变量应该是私有的,并且只有在绝对必要的情况下才能提升到更高的可见性
# 2 楼答案
基本上——如果你认为一个对象有状态,现在任何人都可以在你不知道的情况下修改对象的状态。至少使用setter方法可以更好地控制对象的状态
# 3 楼答案
对。除非是最终值,否则不应公开类中的数据/状态
# 4 楼答案
这意味着内部字段(要封装在类中的字段)应该是私有的,只能通过getter、setters、property等公开。隐藏和绑定类的内部成员,并通过特定框架java(getter setters)中提供的某种方法控制访问。net(属性)等是封装
并回答您的问题:为什么要实现封装对其进行优化,以便控制对类内部成员的访问。例如,如果您有一个整型字段,您只想将其设置为1到10之间的值。如果直接公开整数字段,则没有任何机制可以阻止使用者将值设置在所需范围之外。但是,可以通过封装实现这一点,方法是通过setter或属性公开内部int字段,从而允许在setter或属性中添加验证代码,以“监控”内部字段中设置的值
享受吧