为什么class不可以定义为protected的访问权限??

weicairong 2004-10-24 03:48:29
class不可以定义为private的访问权限的原因我知道,可以定义为friendly的道理我也知道,
但是为什么不可以定义为protected的访问权限??
按道理friendly是包访问,protected的访问范围比friendly大的
...全文
396 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
weicairong 2004-10-26
  • 打赏
  • 举报
回复
理解了
觉得blackcourser(be stronger……) 说的对!
eddygtimegod 2004-10-25
  • 打赏
  • 举报
回复
OK,既然你这样说,我就发表一下我的遇见吧,交流交流,有错请GS指正,愿受教。
默认的类访问定义是所谓的Friendly,也就是包内同一路径可访问。但是是不能定义为protected或者private的,这样会报错。主要是以为OO的思想里,protected是为了可以继承该类的子类可访问得到。但是一个类的构造函数连同一个包下面的其他类都访问不了,就不用说有子类了。所以一个类定义为protected是报错的。private就更加不行。但是,如果内部类就会是另一种情况。内部类就算声明为private都可以由其包容类访问它的构造函数,也就是说,它是可以被实例化,是有意义的。
以上是我相关理解。
jb303 2004-10-24
  • 打赏
  • 举报
回复
内部类不就有各种权限了吗
Tasia 2004-10-24
  • 打赏
  • 举报
回复
不对啊。
是friendly可访问范围比protected大。friendly可以被同一个包内的类访问,也可以被不在同一个包内的子类访问;而protected只能被子类访问。
把一个类的方法或是域设为protected,就是说它们只能被该类的子类访问。
will52000 2004-10-24
  • 打赏
  • 举报
回复
按你说的,类的protected可以比friendly多些什么,而比public少些什么
treeroot 2004-10-24
  • 打赏
  • 举报
回复
只有friendly和public
不知道protected的class有什么用?
weicairong 2004-10-24
  • 打赏
  • 举报
回复
iceball(射雕英雄) :请你好好看看<Thinking in Java>
blackcourser(be stronger……) :你说的我也懂
eddygtimegod(dark) :我就是看了Thinking in Java没有看明白才来问的
eddygtimegod 2004-10-24
  • 打赏
  • 举报
回复
一句话,好好看看Thinking in Java的相关章节,它解释得比我好。
java200408 2004-10-24
  • 打赏
  • 举报
回复
语法上就没有提供。
007 2004-10-24
  • 打赏
  • 举报
回复
规定的。
只要注意一下这些修饰符在修饰成员变量及成员方法时的使用就可以了。
黑马 2004-10-24
  • 打赏
  • 举报
回复
java语法规定:)

个人理解:protected的范围比friendly大在可以被继承类访问,如果是超类被继承,则不论超类放在什么位置都可以访问,所以没有必要再定义成protected!
iceball 2004-10-24
  • 打赏
  • 举报
回复
莫名其妙,你想要做什么??

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧