您现在的位置是:首页 > 精选知识 >正文

今日public和private作用(public private protected和默认的区别)

发布时间:2022-08-13 13:41:27瞿鹏枫来源:

导读 大家好,小常来为大家解答以上问题。public和private作用,public private protected和默认的区别很多人还不知道,现在让我们一起来看看...

大家好,小常来为大家解答以上问题。public和private作用,public private protected和默认的区别很多人还不知道,现在让我们一起来看看吧!

1、private这个大家都知道,就是只有在本类中才能访问。

2、public正好和private相反,在任何地方都能访问。

3、protected是在本包内能访问,而在包外只有它的子类能访问。

4、如图,package1这个包中有一个A类,它有一个成员变量a,用protected访问控制符进行修饰。

5、如图,在本包中另一个类继承自A,它是可以访问A的这个成员变量的。

6、如果是本包中的一个普通类(也就是不继承自A),也是可以访问A的成员变量的,这个大家可以自行测试。

7、如图,在别的包中的一个普通类访问A的成员变量,这个是不可以的。

8、但是在别的包中的子类,也就是继承自A的类,访问A的成员变量是可以的。

9、再来说默认(包访问权限)。

10、如图,还是package1中的A类的成员变量a,这一次什么也不加。

11、和protected一样,只要是同一个包下的类,不管是子类还是其它普通的类,都可以访问A的这个成员变量。

12、在另一个包中的类,如果是普通类,和protected一样,是不能访问A类中的这个成员变量的。

13、在另一个包中的类,即使是子类,也是不能访问A类中的这个成员变量的。

14、这一点和protected不一样。

15、总结一下,private是只有本类中才能访问,public是都能访问,默认(包访问权限)是只有本包内才能访问,包括本包内的子类和普通类,而protected是只要本包内就能访问,包括本包内的子类和普通类,另外别的包内的子类也能访问,但是普通类不能访问。

16、所以说protected和默认(包访问权限)是很相似的,在同一个包内,它们是一样的,而在另一个包内,默认是不能访问的,而protected是只有子类能访问。

本文到此结束,希望对大家有所帮助。

标签:

上一篇
下一篇