关于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中的方法。

posted @ 2022-03-26 16:12  黑山魁七  阅读(43)  评论(0)    收藏  举报