Java中访问修饰符public、private、protecte、default的意义讲解:
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不
仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以
及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、
属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访
问。
类的只有两种public,default(不同包不可以访问
public--都可访问(公有)
private--类内可访问(私有)
protected--包内和子类可访问(保护)
不写(default)--包内可访问 (默认)
public>protected>default>private
Java 方法默认访问级别 : 包访问
Java 类默认访问级别 : 包访问
对于一个Class的成员变量或成员函数,如果不用public, protected, private中的任何一个修饰,那么该成员获得“默认访问控制”级别,即package access (包访问)。
属于package access的成员可以被同一个包中的其他类访问,但不能被其他包的类访问。
包访问的控制力弱于private,但强于protected。因为一方面,只要是子类,不管子类与父类是否位于同一个包中,那么子类都可以访问父
类中的protected方法。但是一旦位于原类的包外,不管是否是其子类,都无法访问其属于package
access级别的成员。而另一方面,一个类可以访问同一个包中另一个类的package access成员,同时也能访问其protected成员。
(注:package是Java中的关键字,虽然包访问也是一种访问控制级别,但关键字”package”只能用来表示类属于哪个包,而不能像”private”,”public”那样放到成员变量或函数前面,作为访问控制修饰符。)
访问级别保护的强度:public<protected<默认<private
分享到:
相关推荐
类成员的访问控制符有 public,private,protecte 及无修饰符。public(公有的):用 public 修饰的成分表示公有的,也就是它可以被其他任何对象访问。Private(保护的):类中限定为 private 的成员只能被这个类本身...
public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 三种继承方式 public 继承 protect 继承 private 继承 组合结果 基类中 继承方式 子类中 public & public...
学习python有一段时间,之前就是看看书,最后发现只有实践才能真正学到东西...2.由于《DesignPatterns—ElementsofReusableObject-OrientedSoftware》一书采用的是C++来讲述设计模式,因此访问控制符(public、protecte
api(彬)动态调用API-复制整个窗口增加了事件.e
一、结构与类 C++中的类实际上是在C语言的结构体的基础上扩充得到的。即C++的结构体的成员中可用函数——成员函数: C++结构体的成员分为...数据成员分为公有成员(public)、私有成员(private)、保护成员(protecte
EavActiveRecord 实现实体-属性-值模式并提供一种简单的方法来处理 EAV 属性。 EAV 属性作为单独的记录... 运行 SQL 脚本 mysql.sql 或 postgresql.sql(如果您的 DBMS 是 PostgreSQL)它位于以下文件夹中:“protecte
Doubx一个msgpack的rpc,服务端基于java预计特点轻量开发侵入少不维护参数定义package args;import org.msgpack.annotation.MessagePackMessage;... */ public class Hello extends Api { @Override protecte
C++课程设计需要的哥们可以自提,包含主函数,可以...在startWar()中,随机决定由哪一方率先发起攻击(恐怕是每个回合都随机决定谁先出手会比较公平,如果每回合先出手都是固定一方,那么战斗结果完全是确定性的。
本文实例讲述了Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果的方法。分享给大家供大家参考,具体如下: using System;...public partial class _Default : System.Web.UI.Page { protecte
Geotrek-admin, 国家公园和旅游组织的路径管理 美国国家公园和旅游组织收费 Geotrek paths paths management management管理。 母版: 管理路径,treks和相关对象设备和基础设施的轨道维护按区域。protecte
project-hub, 项目时间线的HTML模板 项目集线器以 24方式阅读有关项目集线器的更多信息。...:什么是项目中心为什么我要使用它?项目中心是跟踪设计项目进度的工具。 中心在线( 公开可用或者密码 protecte
StateProgressBar StateProgressBar is an Android library to realize the various states and transitions in a ProgressBar. Quick Start Get a feel of how it works: Check the wiki for detailed...protecte
一般来说,虽然Form类没有提供Minimize的事件,但还是可以通过重载Deactive来实现WinForm捕获最小化事件。 实现方法为:当Form失去焦点后,测试WindowState取得Form状态,若为Minimized既是最小化事件。...protecte
api-gateway-core api-gateway-core是一个轻量级的api网关 Background 随着公司各个项目的扩展,不同的项目之间和第三方出现了大量调用项目API的需求。此时就面临了一系列问题,例如:如何让各个项目安全地... protecte
得到当前要处理的月份总共有多少天$days 得到当前要处理的月份的一号是星期几$dayofweek $days的作用:知道要处理的月份共有多少天,就可以通过循环输出天数了 $dayofweek的作用:只有知道每个月的1号是星期... protecte
过滤阵列适配器 -ArrayAdapter,可以自定义过滤显示项。 是为android.widget.AutoCompleteTextView创建的,但可能在其他任何地方使用。 典型的实现可能如下所示: FilteredArrayAdapter< Teacher> ... protecte