黑马程序员技术交流社区
标题:
四种访问修饰符疑问???
[打印本页]
作者:
hushaojie@0719
时间:
2016-7-27 22:56
标题:
四种访问修饰符疑问???
书上指出外部类的修饰符只能用默认和public,而类的成员可以用四种修饰符(private、默认、protected、public),其中类成员的修饰符是对于类而言的,很容易理解,但是外部类的修饰符不能用protected修饰是怎么考虑的呢?求大神讲解!
作者:
hushaojie@0719
时间:
2016-7-28 21:28
求大神指导
作者:
yuxing
时间:
2016-7-28 22:43
类本身的继承是通过extends的,如果禁止继承的话用final修饰就行了, 而protected不能用在本身,因为继承继承的父类的成员方法和变量,所以拿protected对其进行权限控制,懂了?
作者:
nblity007
时间:
2016-7-28 23:13
对外部类用protected时报错:
Illegal modifier for the class Demo; only public, abstract & final are permitted。
对类访问权限的界定就是包外和包内: 即最大访问权限public和包访问权限friendly(默认权限) 这两种。protected权限介于public和包访问权限之间,被protected修饰的成员具有包访问权限,同时对其他包的继承该类的子类可见,子类可以使用父类的public和protected成员。
将类定义为protected,包外的类无法访问该类,更别提继承,protected修饰类毫无意义
作者:
hushaojie@0719
时间:
2016-7-29 22:39
谢谢大神们解答
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2