关于函数的访问权限问题

asert 2005-11-27 02:54:07
我有一个父类中有几个函数是抽象的,我希望这些函数是可以继承的,但是又不能被除本身和子类的其他任何类调用;如何做到这一点?
...全文
234 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
perfervid 2005-11-28
  • 打赏
  • 举报
回复
建议楼主看看这篇文章:

http://www.graphics.net.cn/article/java/java_method_overloading.asp
ZHOUQINGUO 2005-11-27
  • 打赏
  • 举报
回复
protected 这个是包内有好,不能解决楼主的问题!!!异常来抛错误是个不错的方法!
lzfxpuugv 2005-11-27
  • 打赏
  • 举报
回复
可以在这个方法中先来个if语句用instanceof判断一下调用的类是否是子类
否则的话抛出一个异常

我觉得这个方法不错
niko7 2005-11-27
  • 打赏
  • 举报
回复
可继承、自己 和 子类都能访问,其它类不能访问,那么只有 protected 了。
但是这样 会使 同一包内的其它 类也可以访问。
看来这个包里不能有别的了。

顺便问一句:
一个类的方法被调用时,在方法内部能知道调用者是谁吗?
ypdarling 2005-11-27
  • 打赏
  • 举报
回复
可以在这个方法中先来个if语句用instanceof判断一下调用的类是否是子类
否则的话抛出一个异常
asert 2005-11-27
  • 打赏
  • 举报
回复
感觉java在函数的访问权限上有不足之处。。。。
ysycrazy 2005-11-27
  • 打赏
  • 举报
回复
对不起上面写错了:
to ysycrazy(风中狂):
那就没有办法让同一个包中的其他函数不可以访问吗?


回复:如果不想让同一包的其他类访问,那么就必须改为private,但是如果这样无论是同一包中,还是不同包中的子类都没有办法访问了。
ysycrazy 2005-11-27
  • 打赏
  • 举报
回复
to ysycrazy(风中狂):
那就没有办法让同一个包中的其他函数不可以访问吗?

回复:如果想让其他包的其他类访问,那么就必须改为private,但是这样子类又没有办法访问了。
asert 2005-11-27
  • 打赏
  • 举报
回复
to ysycrazy(风中狂):
那就没有办法让同一个包中的其他函数不可以访问吗?
suprwx 2005-11-27
  • 打赏
  • 举报
回复
支持楼上
ysycrazy 2005-11-27
  • 打赏
  • 举报
回复
把函数声明为protected即可。但是同一个包中的其他函数仍然可以访问。
gemouzhi 2005-11-27
  • 打赏
  • 举报
回复
protected

62,629

社区成员

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

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