public private protected default 区别

转载 2015年07月07日 15:01:16

明明很简单的问题,看了很多遍总是记不住,当时记住了,过两天就又忘了,在博客里写下来,让自己能常看看。
注:本文是转载的原文地址

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes(即同一个包),认为都是自己的朋友friendly。
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
4、default:java的默认访问权限,当没有使用上面提到的任何访问限定词时,就使用它,这种权限通常被称为包访问权限,在这种权限下,类可以访问在同一个包中的其他类的成员,也即可以访问我们前面说的朋友,在包之外,这些成员如同指定了private。

这几天在看看java基础部分,有一个概念一直比较模糊就是java 变量作用域的修饰的作用范围;也看了一些网上资料不过说的不够精确。这里整理一下:
public:类本身和任何包的任何类都访问
private 只有类本身可以访问,其他类想访问可以通过该类的成员方法访问如getter/setter
protected:保护的,这个和缺省的比较容易混淆,记住最主要区别是:protected可以在不同包的子类被访问,而friendly不可以。
protected可以在类本身、同包的子类,不同包的子类,同包的非子类 被访问
缺省的:可以在类本身,同包的子类,同包的非子类 被访问。

Public,protected,private解析
Public成员可以被同一个类或同一个包或不同包下的类都可以访问。
Protected成员可以被同一个类或同一个包下的类可以访问,不能被不同包下的类访问。
Private成员可以被于同一个类访问,不能被同一个包或不同包下的类访问。

public private 等的区别

特别说明一点protected在不同包子类下为yes的情况:
包外子类有权访问父类成员是什么意思?它指子类继承该成员。 然而,这不意味着包外子类能够使用父类实例的引用访问该成员。换句话说,保护=继承。保护不是指子类能够处理受保护的父类成员,就好像它是公有的那样。因此,如果包外子类获得父类引用,该子类不能在父类引用上使用点运算符来.访问受保护的成员。子类只能通过继承看到受保护的成员。

举报

相关文章推荐

public、private、protected、default的区别

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes(即同一个包),认为...

public、private、protected、default的区别

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes(即同一个包),认为...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

public、private、protected、default的区别

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes(即同一个包),认为...

Java中private、protected、public和default的区别

有时候开发久了就会忘记一些基础的知识,经常忘记,这里记录一下。public: 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的...

public,private,protected区别

Java中的访问控制 表1-1 可见/访问性 在同一类中 同一包中 不同包中 同一包子类中 不同包子类中 public yes yes yes yes ...

简析private、protected、public、default的区别

(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 (2)对于protected...

java类的访问权限问题(public default private protected)

java中的访问权限you

public,private,protected 区别

(1)、公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作 私有成员pr...

java中public, default, protected, and private的区别?

java中public, default, protected, and private的区别? 今天开始写第一篇博客,其实想写博客的想法有很久了 ,但是作为一个在校学生,可能写出来的质量不是很高。但...

修饰符和static用法

修饰符:访问修饰符:public 所有类均可访问 protected 当前类、同包的类、不同包的子类 default 当前类、同包类 private 当前类 final:最终的,可以修饰类、方...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)