【问题标题】:Why to use access specifiers/Modifiers in Java?为什么在 Java 中使用访问说明符/修饰符?
【发布时间】:2013-12-14 03:15:13
【问题描述】:
我正在学习 Java,我的问题是为什么要在 Java 中使用访问说明符/修饰符?为什么我们需要对类、方法或变量使用 Public、Private、Protected 和 Default 访问。如果我是程序员,那么显然我对程序了如指掌。如果我是最终用户,那么我不知道什么是程序?那我向谁隐瞒细节?数据隐藏在哪里?请帮助我举一些例子作为程序员的观点以及最终用户的观点。
【问题讨论】:
标签:
oop
default
private
public
protected
【解决方案2】:
作为软件设计师的观点:实际和语义原因。
变量描述对象实例的状态。受保护的变量是继承的。这是实用的,因为继承链中的类可以彼此共享结构相似性。非继承变量保持私有。变量只有在为常量时才是公共的(公共静态最终变量)。
方法描述对象的行为。 protected 的继承和公共方法的使用与变量几乎相同,除了变量描述状态,方法描述行为。一个区别是包私有方法的使用,这种方法通常在框架内部使用。
【解决方案3】:
如果您确实需要一个实际示例,假设您的 FB 密码的详细信息存储为私有变量,而您的 LoginID 存储为 FBDetails 类中的受保护变量...
现在任何人都可以继承 FBDetails 类来获取您的 LoginID,但显然没有人可以访问您的密码。