社区
Java SE
帖子详情
为什么class不可以定义为protected的访问权限??
weicairong
2004-10-24 03:48:29
class不可以定义为private的访问权限的原因我知道,可以定义为friendly的道理我也知道,
但是为什么不可以定义为protected的访问权限??
按道理friendly是包访问,protected的访问范围比friendly大的
...全文
396
12
打赏
收藏
为什么class不可以定义为protected的访问权限??
class不可以定义为private的访问权限的原因我知道,可以定义为friendly的道理我也知道, 但是为什么不可以定义为protected的访问权限?? 按道理friendly是包访问,protected的访问范围比friendly大的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
莫名其妙,你想要做什么??
彻底搞懂python元类meta
class
彻底了解python元类meta
class
: 如何用type创建类 什么是元类及元类如何
定义
案例:wtforms源码分析 案例:元类实现单例模式
java
定义
类私有类_关于java:为什么不能将一个类
定义
为
protected
?
我知道这是一个愚蠢的问题,但我仍然有一个疑问需要解决。我的问题是,为什么不能将一个类
定义
为
protected
?我知道我们做不到,但是为什么呢? 应该有一些特定的原因。如果声明一个受保护的类怎么办?我认为这是您正在寻找的东西:stackoverflow.com/questions/2534733/java-
protected
-
class
es:D让我们只说为什么不能保护外部阶级? 内部类可以受到保护。...
protected
(保护)
访问
权限
一个类, 如果希望, 它的成员, 可以被自己的子类(派生类)直接
访问
, 但是, 又不想被外部
访问
那么就可以把这些成员,
定义
为
protected
访问
权限
!!!
访问
权限
总结: 1.public 外部(指对象)可以直接
访问
. 可以通过对象来
访问
这个成员 Fahter wjl(“王健林”, 65); wjl.getName(); 2.private 外部(指对象)不可以
访问
自己的成员函数内, 可以
访问
Fahter wjl(“王健林”, 65); wjl.name; // 错误!!! Father内的所
Java
访问
权限
之
protected
详解
对于类的成员(包括成员变量和成员方法)而言,其能否被其他类所
访问
,取决于该成员的修饰词;而对于一个类而言,其能否被其他类所
访问
,也取决于该类的修饰词。在Java中,类成员
访问
权限
修饰词有四类:private,无(包
访问
权限
),
protected
和 public,而其中只有包
访问
权限
和public才能修饰一个类(内部类除外)。由于很多Java书籍对
protected
可见性的介绍都比较笼统,本文重点说明了
protected
关键字的可见性内涵。
C++中
protected
访问
权限
问题
今天发现有这样两句话: 1. 基类的保护成员对于派生类的成员是可
访问
的。 2. 派生类的成员只能通过派生类对象
访问
基类的保护成员,派生类对一个基类对象中的受保护成员没有
访问
权限
。 这两句话看的太头晕了,其实作者应该是想表达:只有在派生类中才可以通过派生类对象
访问
基类的
protected
成员。看这样的代码:
class
Base { public: Base(); private...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章