说白了,公共成员变量就是相当于一个外部的接口(API),也就说我们里面的具体操作我们不需要关心,类中的具体操作需要的变量都会定义在private中,不管我们的事。我们需要关心类是什么功能,拿到什么样的数据会处理成什么样的。这些数据都可以定义为公共成员变量,这是我们需要直接操作的数据。 2. protected(保护): 所谓受...
成员访问控制 访问类型 含义 private 声明为 private 的类成员只能由类的成员函数和友元(类或函数)使用。 protected 声明为 protected 的类成员可由类的成员函数和友元(类或函数)使用。 此外,它们还可由派生自该类的类使用。 public 声明为 public 的类成员可由任意函数使用。 访问控制有助于阻止您通过不适当的方...
1 private (私有的) 只有在声明的该成员的顶层类内部才能访问到这个成员 但是有一点需要注意 在接口里面是不能被声明为private的。 大家可以考虑下为什么会是这样? 2 包级私有的 简称缺省的(default) 3 受保护的(protected) 声明该成员的子类可以访问这个成员(有一定限制) 4 公有的(public) 表示在任意地方都可...
也就是说,私有成员和包私有成员都是类实现的一部分,通常不会影响其导出的API。但是,如果类实现 Serializable,这些字段可能会“泄漏”到导出的API中。 对于公共类的成员,当访问级别从 package-private 变为 protected 时,可访问性会有很大的提高。protected 成员是类导出API的一部分,必须永远支持。此外,导出...
protected——成员可以从被声明的类的子类中访问(受一些限制,JLS,6.6.2),以及它声明的包中的任何类。 public——该成员可以从任何地方被访问。 在仔细设计你的类的公共API之后,你的反应应该是让所有其他成员设计为私有的。 只有当同一个包中的其他类真的需要访问成员时,需要删除私有修饰符,从而使成员包成为包级...
package-private-成员可以在同包的类中被访问。如果你没有指定任何可访问修饰语,默认就是这种访问等级(除了接口中的成员,接口中默认是public)。 protected-成员在声明它的类、子类以及同包中可以被访问。 public-任何地方都可以访问。 当设计完公共API之后,你应该让其他所有的成员都变成私有的。如果当同包中的其他类...
在Java中,访问类成员的级别可以分为以下几种: 公共(Public):公共级别的成员可以在任何地方被访问,包括类的内部、同一个包内的其他类以及其他包中的类。 私有(Private):私有级别的成员只能在类的内部被访问,不能被同一个包或其他包中的类访问。 受保护(Protected):受保护级别的成员可以在类的内部、同一个包内...
这个时候基类里面的protect成员就是对外的API,因为这些方法对子类来说是可见的,你不能随意改动。这个时候如果这个成员是public或者protected就可能造成麻烦。对于API来说你不能随意改动。你能设想JDK里面的有些类的API改动的情况吗?至少我会抓狂的:) 访问权限扩大原则:延伸话题来说,还有就是Java对override的时候访问...
访问控制修饰符是Java中用于定义类、方法、变量等成员的访问权限的关键字。它们帮助开发者实现封装的概念,即隐藏对象的内部细节,只暴露必要的接口给外部。 2. 列举Java中的类访问控制修饰符 在Java中,类的访问控制修饰符主要有两个:public 和默认(无修饰符)(注意,private 和protected 修饰符主要用于成员变量和方法,...
在上面的例子中,getProtectedVar() 方法是公共的,因此可以在类的外部调用它。它返回受保护属性 myProtectedVar 的值,从而允许在类的外部访问该属性。 总之,要访问同一类的另一个对象的受保护属性,可以使用友元类或者提供一个公共的访问方法。 相关搜索: 嵌套类:从嵌套的受保护类访问受保护的类的成员 访问...