美文网首页
public/private/protected的区别

public/private/protected的区别

作者: 十一月1129 | 来源:发表于2020-09-18 15:51 被阅读0次

引自:https://blog.csdn.net/l294265421/article/details/44219431

权限修饰用于限定对象起作用的范围,也就是,在什么地方我们能够访问到这个对象,在什么地方我们访问不到这个对象了,这里的对象是指属性、方法、类和接口。

一、权限修饰符作用于属性和方法。private,default,protected和public都能作用于属性和方法。

1.当private作用于属性和方法时,就只有在同一个类中能访问它们。例子如下:

但是在同一包中的其它类(Person的子类或者任意其它类)中不能访问Person类中的私有属性和私有方法。如下:

2.当default作用于属性和方法时,除了在同一个类中能访问它们,同一个包中的其它类(包括该类的子类和任意其它类)中也能访问它们。当属性或者方法没有权限修饰符时,其实就是default修饰的。例子如下:

在其它包中的类(Person的子类或者任意其它类)中不能访问Person类中的default修饰的属性和方法。例子如下:

3.当protected作用于属性和方法时,除了在同一个类中和同一个包中的类(包括子类和其它任意类)中能访问它们外,其它包中该类的子类中也能访问它们。例子如下:

其它包中的除开非子类的其它类中不能访问Person类中的protected修饰的属性和方法。例子如下:

4.当public作用于属性和方法时,除了在一个类中和同一个包中的类(包括子类和其它任意类)中能访问它们外,其它包中的类(包括子类和其它任意类)中也能访问它们。例子如下:

二、权限修饰符作用于类和接口。只有default和public能修饰类和接口。

1.当default修饰类和接口时,类和接口只能在同一包中的类或接口中被访问。例子如下:

在其它包中的类不能访问到该包中default修饰的类。例子如下:

2.当public修饰类和接口时,类和接口能被同一包中其它包中的任意类访问到。例子如下:

相关文章

网友评论

      本文标题:public/private/protected的区别

      本文链接:https://www.haomeiwen.com/subject/yyejyktx.html