日期:2014-05-20  浏览次数:20690 次

再问类的访问权限
如果一个包mypackage的myclass.java文件中有2个类,分别为public class myclass 和class room 
由于myclass是public的, 可以被其他包中的类访问,而room只能在mypackage包范围内访问,不能被mypackage包以外的包访问。
我们说类可以被访问是指我们可以用这个类来生成对象? 或者是用这个类来作为基类来扩展子类?还是两者都有?
比如说这个类 room, 在把包import进一个包之外的文件后, 可否生成一个room 的对象? 可否用 extends room?
谢谢 


------解决方案--------------------
LZ你自己已经了解的非常明确了,public修饰的只要是个人他就可以访问。缺省的话默认为friendly,不建议使用。访问的话,public修饰的当然可以new对象了。扩展也无碍。
------解决方案--------------------
既然是另一個包中,room應該是不可見的吧
------解决方案--------------------
1.我想应该两者都有吧!它被继承就是被子类所访问!用它来生成对象也就是调用它那不就是访问吗?

2.在把包import进一个包之外的文件后, 可否生成一个room 的对象?可否用 extends room? 
答: (1)不可以.但在同一个包中可以
(2)不可以继承.在同一个包中默认,公有,受保护,的都可以继承,但如果不是在同一个包中默认的就无法继承.

------解决方案--------------------
class room 默认为包访问权限 也就是只能在默认包里用(mypackage)
引入到另个包里应该不可以的
public class room可以的