java的访问权限
2020-04-08 16:11:07来源:博客园 阅读 ()
java的访问权限
一、访问权限
1. 权限简介
java有四种访问权限:public > protected > default > private。
注:protected、private不能修饰类,private不能修饰抽象方法。
2. 权限详情
public ------所修饰的成员,在任何位置均可被访问。
protected -所修饰的成员,能被其子类访问。
default -----所修饰的成员,只能在同包中被访问。
private -----所修饰的成员,只能在本类中被访问。
访问权限 | 同类 | 同包 | 不同包子类 | 不同包非子类 |
public | ? | ? | ? | ? |
protected | ? | ? | ? | × |
default | ? | ? | × | × |
private | ? | × | × | × |
二、权限测试
1. 同类
/* * @Author: bpf * @FilePath: \Learn in the Internet\Code\java\cnblogs\myPack\Ask.java */ package cnblogs.myPack; public class Ask { public String s1 = "我是公共"; String s2 = "我是友好"; protected String s3 = "我是受保护"; private String s4 = "我是私有"; public void speak(String s) { System.out.println(s); } public static void main(String args[]) { Ask ask = new Ask(); ask.speak(ask.s1); ask.speak(ask.s2); ask.speak(ask.s3); ask.speak(ask.s4); } }
由此可见,在同类中,四种权限均可被访问。
2. 同包
/* * @Author: bpf * @FilePath: \Learn in the Internet\Code\java\cnblogs\myPack\E.java */ package cnblogs.myPack; public class E { public static void main(String args[]) { Ask ask = new Ask(); ask.speak(ask.s1); ask.speak(ask.s2); ask.speak(ask.s3); ask.speak(ask.s4); } }
由此可见,在同包中,四种权限只有private不能被访问。
3. 不同包子类
/* * @Author: bpf * @FilePath: \Learn in the Internet\Code\java\cnblogs\temp\E.java */ package cnblogs.temp; import cnblogs.myPack.Ask; public class E extends Ask { public static void main(String args[]) { Ask father = new Ask();// 使用父类的对象访问 father.speak(father.s1); father.speak(father.s2); father.speak(father.s3); father.speak(father.s4); E child = new E(); // 使用子类的对象访问 child.speak(child.s1); child.speak(child.s2); child.speak(child.s3); child.speak(child.s4); } }
由此可见,当使用父类创建的对象访问时,只能访问public;当使用子类创建的对象访问时,可以访问public、protected。
4. 不同包非子类
/* * @Author: bpf * @FilePath: \Learn in the Internet\Code\java\cnblogs\com\E.java */ package cnblogs.com; import cnblogs.myPack.Ask; public class E{ public static void main(String args[]) { Ask ask = new Ask(); ask.speak(ask.s1); ask.speak(ask.s2); ask.speak(ask.s3); ask.speak(ask.s4); } }
由此可见,在不同包非子类中,只能访问public。
原文链接:https://www.cnblogs.com/bpf-1024/p/12663335.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash