Java 如果类方法/字段仅由类本身访问,那么它们的封装是否重要?
简短的背景:我用java制作了一个俄罗斯方块克隆(所有的游戏数据和方法都是一个类),我担心在这种情况下封装是否重要 几乎所有字段和方法都标记为“default”,没有任何getter和setter,因为用户不应该访问它们 方法在不传递任何参数的情况下直接操作变量,当然只有当它所操作的对象是唯一的时(不能有两个当前块、两个下一个块列表、两个保持块等等)Java 如果类方法/字段仅由类本身访问,那么它们的封装是否重要?,java,Java,简短的背景:我用java制作了一个俄罗斯方块克隆(所有的游戏数据和方法都是一个类),我担心在这种情况下封装是否重要 几乎所有字段和方法都标记为“default”,没有任何getter和setter,因为用户不应该访问它们 方法在不传递任何参数的情况下直接操作变量,当然只有当它所操作的对象是唯一的时(不能有两个当前块、两个下一个块列表、两个保持块等等) 如果用户永远不应该获得类的原始成员,那么我真的需要getter和setter吗?方法直接获取并设置值。如果我有一个简单的int,我想得到或设置,我
如果必须使用setter和getter在类内的代码中强制执行规程,那么要处理的问题比维护适当的封装(和其他OO原则)要大得多。不,如果不打算从类外部访问成员变量,则不需要getter和setter 在您的情况下,由于成员变量只能从类本身内部访问,因此访问修饰符应更改为
private
使用default
关键字意味着您不想提供访问修饰符,该变量应可用于同一包中的任何其他类
可以找到更多信息感谢您指出这一点。我误解了子类不能继承私有成员,所以我将它们保留为默认值。如果您希望子类能够访问超类的成员变量,那么您可以使用
受保护的访问修饰符。对不起,我的意思是,如果我有嵌套类,private
。对于子类,受保护
。这是正确的吗?