权限修饰用于限定对象起作用的范围,也就是,在什么地方我们能够访问到这个对象,在什么地方我们访问不到这个对象了,这里的对象是指属性、方法、类和接口。
一、权限修饰符作用于属性和方法。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修饰类和接口时,类和接口能被同一包中其它包中的任意类访问到。例子如下: