访问权限
这个很好理解, 你的东西你肯定不希望别人随意的看随意的访问. 对吧. java程序也是这样. 不是啥都是对外的. 有些东西自己享用就好了. 有些东西是留给自己后代的. 还有些东西是自己这一片邻居可以访问的. 最后还有一些是大家都能访问的.
java一共四种访问权限, 本节, 咱们先讲三个.
看一下示例代码:
package com.xyq.bao; public class Person { String def = "def"; // 默认啥都不写就是包访问权限 public String pub = "pub"; // 公共的 private String pri = "pri"; // 自己的 public static void main(String[] args) { Person p = new Person(); // 自己类里,都没问题 System.out.println(p.def); System.out.println(p.pub); System.out.println(p.pri); } }
自己包里的其他类里试试:
package com.lewen.day17; public class TestPackagePerson { public static void main(String[] args) { Person p = new Person(); System.out.println("test " + p.def); System.out.println(p.pub); // System.out.println(p.pri); //会报错 } }
换个包试试
package com.lewen.opp; import com.lewen.day17.Person; public class TestPackagePerson { public static void main(String[] args) { Person p = new Person(); // System.out.println(p.def); //报错 System.out.println(p.pub); // 包外面的其他类. 只有public可以 // System.out.println(p.pri); //报错 } }
一般情况, 我们很少用包访问权限. 这种权限并不舒服. 说白了. 你家里的东西要么是都能让人看的, 要么就是自己用的. 很少会专门准备一些东西给你的邻居用的. 程序也一样. 很少会用默认的访问权限.
private: 自己藏起来偷摸的.
public: 大摇大摆的.邻居包可以访问到