【校招VIP】Java的四种访问权限修饰符public、protected、friendly详细通俗

08月04日 收藏 0 评论 1 java开发

【校招VIP】Java的四种访问权限修饰符public、protected、friendly详细通俗

转载声明:文章来源:https://blog.csdn.net/w15977858408/article/details/89408610

首先,在Java编程语言中有四种权限的修饰符,可以修饰类、类成员变量、类成员函数。

(一)、public

(1) 首先public的意思是公共的公开的

(2) 当pubic用来修饰类的时候,需要注意的是在一个java源文件中呢只能有一个声明为publuc的类,而且只要有一个类用public修饰了,那个java源文件的文件名,就必须、一定要和这个被public修饰的类的类名一摸一样,不然是通过不了编译的。

(3) 修饰类的还有一种情况就是不使用pubilc而是使用默认的修饰符,就是在类的前面什么修饰符也不加,这样的话不同的包是不可以访问到这个类的,意思就是不修饰的类只能在本包中使用,所以对于java这种面向对象的程序语言来说,一般应该将类设置成public类,使用了public修饰的类就可以导入到任何的类中。

(4) 当public用来修饰类中的成员即变量和方法时,那么被public修饰的成员可以在不同包中、相同包中、子类中都能访问到。当前类可以直接访问,不同包的类则只要通过该类的对象进行访问便可以。就像空气,不管是人还是动物、植物都可以访问。

(5)在类的继承上,被public修饰的成员能被所有的子类继承下来,就是你以后建的房子,花园,可以被你的子孙都继承下来。

(二)protected

(1) 首先protected是用来修饰类成员(变量和方法)的,意思是受到保护的,即受到该类所在的包所保护。

(2)protected修饰的变量和方法在同一个package(包)中的时候,则同一个包中的所有类都可以访问到,包括该类的子类也可以访问,不管子类是否和父类在同一个包。就是说你收藏的祖传宝贝,只要是你的子孙,不管他现在是和你住得近,还是住得比较远,他们都可以访问你收藏的祖传宝贝。

(3)同时呢,被protected修饰的成员是可以被该类的子类继承下去的,和上面那个例子意思差不多

(三)friendly

(1)首先呢,friendly的意思是友好的,就是在成员的前面不写任何的访问修饰符的时候,就会默认是friendly,friendly和default是一样的,这里的友好指的就是对同一个包的类友

(2)那么就是在相同的包里面,所有的类都能访问,但是在不同的包中,即使是子类中也不可以访问,也就是说只有在同一个包中的子类才能访问到父类中friendly修饰的成员。就像你收藏的宝贝,一个子孙孝顺,在你旁边一直照顾你,一个子孙不孝顺,很多年都不回来看望,那就不友好了,对吧,所以即使是你的子孙,也不能访问你收藏的宝贝。

(3)在类的继承上呢,被friendly修饰的成员也只能被该类所在用一个包的子类继承下来,也就是说只有孝顺的才可以继承宝贝。

(四)private

(1)首先呢private的意思是私有的,就是只能在当前类中被访问到,他的作用域是最小的,在不同的类是不能访问的。

(2)在类的继承上呢,子类是继承不了父类被private修饰的变量的,就像你的眼睛、鼻子、耳朵是你私有的,你只能自己使用,是不可以继承给你子孙的。

访问权限    当前类   同一包  子类  其他包

public √ √ √ √

protect √ √ √ ×

friendly √ √ × ×

private √ × × ×


C 1条回复 评论
如如

我没有实习,也没有赶上校招,毕业之后只能社招,投的简历全部石沉大海,特别受打击。开始反思,找问题。简历做的不够好,产品质量达不到。现在停下来,在开始系统的,查漏补缺的学习。

发表于 2023-11-10 23:00:00
0 0