关于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中的方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!