package dog;public class Demo4 { public static void main(String []args) { Worker w1= new Worker("小m",22,5003.45f); System.out.println(w1.name); // System.out.println(w1.salary); 因为salary是私有的,外部不能直接访问。所以报错 System.out.println(w1.get_salary()); }}class Worker{ String name; private int age; private float salary; public Worker(String name, int age, float sal) { this.name = name; this.age = age; this.salary = sal; } public float get_salary() { //通过创建一个public的方法,获取salary,再让外部调用这个方法 return salary; } }
封装------访问控制修饰符
java提供四种访问控制修饰符号,控制方法和变量的访问权限;公开级别:用public修饰,对外公开
受保护级别:用protected修饰,对子类和同一个包中的类公开
默认级别:没有修饰符号,向同一个包的类公开
私有级别:用private修饰,只有类本身可以访问,不对外公开。
访问级别 | 访问控制修饰符 | 同类 | 同包 | 子类 | 不同包 |
公开 | public | √ | √ | √ | √ |
受保护 | protected | √ | √ | √ | × |
默认 | 没有修饰符 | √ | √ | × | × |
私有 | private | √ | × | × | × |