关闭

java 访问权限

172人阅读 评论(0) 收藏 举报

1.public: 公共权限

2.private: 私有权限

3.default:包级别访问权限

4.protected:受保护的权限

 

public:

假如有两个类:Person,Student

Person.class位于com.cp.usr这个包

Student.class位于com.cp.student包

如果Person这个类是public的,那么Student这个类就可以调用他;如果Person的属性和方法也是public,那么Student中同样可以调用。

总的来说,public的东西很随便,想怎么用都行,没什么限制大笑

 

private:

同样是Person和Student两个类,但是位于同一个包,因为类不能声明为private的。

如果Person中的属性或者方法定义为private,那么只有在Person这个类里面能够使用,其他的类想都别想,是Person私有的东西。

所以说,private的东西很自私啊,除了它自己,别的想用都不用想。

 

default:

同样是Person和Student两个类,也只能位于同一个包才能调用哈。

类、属性或者方法如果不声明权限,默认就是default,并不是要定义一个default class Person吐舌头

default类型的东西,在同一个包内的其他类可以随意调用,可以理解为包级别的public。

 

protected:

这个稍微有点复杂,涉及到继承了啦。

子类继承父类时,如果子类和父类不在同一个包中,并且父类的成员变量或函数是private/default权限,那么子类将不能使用这些变量或函数(public权限的当然是没有关系,随便使用啦)

这时,protected的作用体现出来了,如果父类中的变量或函数是protected权限的,那么,子类就可以随意使用了。

如果子类和父类在同一个包中,那么protected和default基本一样。所以,区别就是protected可以跨包继承吐舌头

 

以上言论仅作为学习笔记,如果有错:亲,记得指出哦~

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5009次
    • 积分:115
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档