关于Java中的访问权限
从访问权限的本质来将:其实就是调用者和提供者的关系

以上为Java中的访问权限
例如:
package com.atguigu.testjava;
public class Test {
public static void main(String[] args) {
CloneTest c = new CloneTest();
//c.clone(); 这边会报错
}
}
class CloneTest{
public void test () throws CloneNotSupportedException {
new CloneTest().clone();
}
}
在此案例中,方法的调用者为package com.atguigu.testjava.Test调用(并不是由package com.atguigu.testjava.cloneTest调用)
而方法的提供者为:java.lang.Object(在Object类中clone方法的权限为protected)
注1:clone()方法为成员方法,而成员方法和类无关,和对象有关。虽然protected访问权限为不同包中的子类也可以使用,但是这说的是类与类的关系,并不是对象和对象的关系。
package com.atguigu.testjava.Test的父类对象并不是java.lang.Object的对象,所以在此不可以使用。
注2:c.clone()的.表示的不是调用,而是表达了所属关系,表示clone()方法是c中的方法。

浙公网安备 33010602011771号