Java 访问权限的控制
2017-04-14 12:09
316 查看
Java中访问权限的控制常被称为具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,统称为封装。封装的结果是一个同时带有特征和行为的数据类型。
Java中,有public、protected、private 三个访问权限修饰词和不加修饰词的包访问权限。可以用来修饰类的成员。而类的访问权限只有public和包访问权限,即 private和protected不可以修饰类,但是可以修饰内部类。
访问权限修饰词对类的修饰决定了哪些类对该类能够进行访问。而对类成员的修饰,决定了其它类在能访问该类的前提下,能访问该类的哪些成员。
这就好比你去别人家 的一个四合院式的房子。类相当于这个四合院,里面的各个房子是它的成员。四合院大门的锁没锁,决定了你能不能进去这个院子,而你进去了后能进哪个房子,又取决于哪个房子没上锁。如果你连院子都没进去,那么房子上不上锁,对你而言已经没有意义了。因为你无论如何是进不去的。
代码示例
1.dinner.java
2.dessert/Bread.java
3.dessert/Icecream.java
4.dessert/Cola.java
运行结果
结果分析
对比代码和运行结果,可以看出访问权限修饰符的作用了。
Java中,有public、protected、private 三个访问权限修饰词和不加修饰词的包访问权限。可以用来修饰类的成员。而类的访问权限只有public和包访问权限,即 private和protected不可以修饰类,但是可以修饰内部类。
访问权限修饰词对类的修饰决定了哪些类对该类能够进行访问。而对类成员的修饰,决定了其它类在能访问该类的前提下,能访问该类的哪些成员。
这就好比你去别人家 的一个四合院式的房子。类相当于这个四合院,里面的各个房子是它的成员。四合院大门的锁没锁,决定了你能不能进去这个院子,而你进去了后能进哪个房子,又取决于哪个房子没上锁。如果你连院子都没进去,那么房子上不上锁,对你而言已经没有意义了。因为你无论如何是进不去的。
代码示例
1.dinner.java
import dessert.*; public class Dinner{ public static void main(String args[]){ Bread b = new Bread(); b.eat(); Icecream i = new Icecream(4); i.eat(); Cola c = new Cola(); c.drink(); } }
2.dessert/Bread.java
package dessert; public class Bread { public Bread(){} public void eat(){ System.out.println("Eat Bread!"); } }
3.dessert/Icecream.java
package dessert; public class Icecream { private int n = 0 ; Icecream(){} public Icecream(int n){ this. n = n; } void eat(){ System.out.println("Eat " + this.n + " Icecream!"); } }
4.dessert/Cola.java
package dessert; public class Cola{ private int n = 0; Cola(){} public void drink(){ System.out.println("drink " + this.n + " cola!"); } }
运行结果
结果分析
对比代码和运行结果,可以看出访问权限修饰符的作用了。
相关文章推荐
- java--访问控制和内部类 (权限修饰符)
- java学习笔记八——访问权限控制
- 关于java访问权限控制的误区
- java 核心技术 卷1 第三章 InputTest &&权限访问控制
- 【Java】第6章 访问权限控制
- 从0开始学java-访问权限控制
- java的访问权限控制--疑问
- JAVA 权限访问控制
- Java程序访问权限控制(policy文件)
- java访问权限的控制
- Java初级--访问控制权限及多线程
- thinking in java笔记 6 访问权限控制
- java编程思想阅读笔记(二)访问权限控制和复用类
- java访问权限控制符
- 12.16(Java 访问权限控制, ClassPath,ibatis调试心得)
- JavaWeb 案例——访问权限控制
- 访问控制权限和 ------java命名规范
- Java中的四种访问权限控制
- JAVA访问权限控制
- Java 编程思想(第四版)学习笔记(6)访问权限控制