黑马程序员技术交流社区
标题:
四个词private, protect,不修饰,public的疑问
[打印本页]
作者:
我自信我很牛
时间:
2013-4-1 22:45
标题:
四个词private, protect,不修饰,public的疑问
本帖最后由 田磊阳 于 2013-4-4 09:34 编辑
这四个词,范围大小顺序如上,但是对他们修饰后的类,属性,方法的作用范围没有个系统的理解和总结,求指点.
作者:
932759732
时间:
2013-4-1 23:15
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public YES YES YES YES
protected YES YES YES NO
friendly YES YES NO NO
private YES NO NO NO
不写就是friendly。
摘自 ----java访问权限修饰符public protected friendly private用法总结
作者:
袁梦希
时间:
2013-4-1 23:17
围观一下。。
作者:
李道福
时间:
2013-4-1 23:54
这些修饰词只在包与包, 类与类,类与包等之间访问时发挥作用
private:只允许来自该类内部的方法的访问,不允许任何来自外部类的访问
protected:允许同一个包中任何类以及该类的任何地方的任何子类的方法的访问
不修饰:允许来自同一个包中任何类的方法的访问
public:允许任何类的方法的访问
作者:
胡滨
时间:
2013-4-2 07:21
http://bbs.itheima.com/thread-43574-1-1.html
{:soso_e181:}
作者:
蓝色骨头
时间:
2013-4-2 17:55
default 即不添加修饰符
同包 不同包 同包继承 不同包继承
private 通过该类的方法 通过该类的方法 通过子类继承自父类的方法 通过子类继承自父类的方法
public 该类或该类的方法 该类或该类的方法 通过子类或子类继承自父类的方法 通过子类或子类继承自父类的方 法
default 该类或该类的方法 通过该类的方法 通过子类或子类继承自父类的方法 通过子类继承自父类的方法
protected 该类或该类的方法 通过该类的方法 通过子类或子类继承自父类的方法 通过子类继承自父类的方法
作者:
黄玉昆
时间:
2013-4-3 12:19
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者:
影响力147753321
时间:
2013-4-4 08:00
访问权限的等级最大到最小依次是:public,protected,包访问权限(无关键字)和private。
成员的访问权限取得对某成员(属性和方法)的实现方法有下面四种情况
1, 权限设置为public; 2, 默认包访问权限,在同一包中的其他类,可以访问; 3, 权限设置为public或者protected,通过继承的子类可以访问; 4, 设置为private,提供访问器和变异器方法(get/set);
下面介绍这四种权限(相对成员而言)
1, 包访问权限,在同一包中的类可以访问; 2, Public:接口访问权限,任何类都可以访问; 3, Private:你无法访问,除了包含该成员的类,其他类都可以访问。 4, Protected:继承访问权限,包括包访问权限。在同一包中,还有就是子类可以访问。
类的访问权限类的访问
只有两种:包访问权限或public(用法同上) 如果不希望其他类拥有该类的访问权限,可以把这个来说有的构造器制定为private(比如单列模式)。
摘自-----Java的访问控制权限。
作者:
田磊阳
时间:
2013-4-4 09:34
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2