VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 692|回复: 6

包访问权限的类的非静态方法声明为public 没有意义!?

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-1 19:20:01 | 显示全部楼层 |阅读模式
因为在包外这个类是不可见的,所以也不能调用其任何非静态方法(静态方法可以?)。不是吗?谢谢谢谢!
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-15 12:15:01 | 显示全部楼层
任何public类在包内外都是可见的,只有非public的类在包外不可见。
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-15 13:00:02 | 显示全部楼层
关键是非静态方法只能从对象上调用,不能从类上调用。
只有静态方法才可以不用生成对象,直接众类名上调用。
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-3-16 13:15:01 | 显示全部楼层
嗯。说的就是包访问权限的类(非public 类),上述论断是否正确呢?
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-16 19:00:01 | 显示全部楼层
非public的类,类都见不着,又怎么可以访问其非静态方法呢?
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-16 20:00:02 | 显示全部楼层
哦,是静态。
总归静态非静态都直接访问不到,呵呵。
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-17 09:15:01 | 显示全部楼层
包访问权限的类,其“方法声明为public没有意义”却实也没比非public的方法更有意义。
但也有特殊的情况,比如一个包访问权限的类,继承了另一个public的类,或实现了一个public的接口,那么那些重载的或实现的方法也必须不能低于父类的限制,如果父类是public,它也只能是public了。
而且这里也确实可以从父类引用上间接访问这些方法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表