专业回答
这两个是访问类中成员权限的限制符.在类外如果想使用类中的成员,只能直接使用public类型的,protected和private都是不能访问的,对于类外使用而言,这两个是完全相同的.
但是在基类的派生类中,可以直接访问继承而来的protected成员,但是不能访问private限制的成员.所以在派生类中,可以访问基类继承而来的public和proected两种类型的成员.在public公有派生下,继承而来的成员访问权限不变.protected派生下,public和protected都变成protected,private派生下,所有的继承下来都是private了.
2011-03-08 10:50
wanghe_love
六级
protected 在本包中可以调用该方法;
private 只能在本类中调用;
其实都是在写框架的时候用得到。为了只暴露给调用者部分接口用的。
不过可以通过反射获取到任何修饰符的属性;
评论
14
1
2011-03-08 10:48
lyx2000s
四级
protected 受保护的
private私有的
private表示该属性或方法为私有,只能被他的类使用
protected表示该属性或方法可被同一包内或子类使用.
评论
4
10
2011-03-08 11:18
wap_1989
二级
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
专业回答
这两个是访问类中成员权限的限制符.在类外如果想使用类中的成员,只能直接使用public类型的,protected和private都是不能访问的,对于类外使用而言,这两个是完全相同的.
但是在基类的派生类中,可以直接访问继承而来的protected成员,但是不能访问private限制的成员.所以在派生类中,可以访问基类继承而来的public和proected两种类型的成员.在public公有派生下,继承而来的成员访问权限不变.protected派生下,public和protected都变成protected,private派生下,所有的继承下来都是private了.
但是在基类的派生类中,可以直接访问继承而来的protected成员,但是不能访问private限制的成员.所以在派生类中,可以访问基类继承而来的public和proected两种类型的成员.在public公有派生下,继承而来的成员访问权限不变.protected派生下,public和protected都变成protected,private派生下,所有的继承下来都是private了.
2011-03-08 10:50
wanghe_love
六级
protected 在本包中可以调用该方法;
private 只能在本类中调用;
其实都是在写框架的时候用得到。为了只暴露给调用者部分接口用的。
不过可以通过反射获取到任何修饰符的属性;
private 只能在本类中调用;
其实都是在写框架的时候用得到。为了只暴露给调用者部分接口用的。
不过可以通过反射获取到任何修饰符的属性;
评论
14
1
2011-03-08 10:48
lyx2000s
四级
protected 受保护的
private私有的
private表示该属性或方法为私有,只能被他的类使用
protected表示该属性或方法可被同一包内或子类使用.
private私有的
private表示该属性或方法为私有,只能被他的类使用
protected表示该属性或方法可被同一包内或子类使用.
评论
4
10
2011-03-08 11:18
wap_1989
二级
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly