【java学习笔记2】访问控制修饰符 public、protected、默认、private
先写了一个User()类:
package chapter01; public class User { // 私有的 private int id; // 受保护的 protected int age; // 公开的 public int weight; // 默认的 String name; }
在同包下创建一个新类Test2()类:
分别访问User()类下的4个变量,private修饰的id,无法访问!
package chapter01; public class Test02 { public static void main(String[] args) { User user = new User(); // private 修饰的元素,只能在本类中使用 // System.out.println(user.id); System.out.println(user.age); System.out.println(user.weight); System.out.println(user.name); } }
在不同包下创建Test03()类,分别访问User()类下的变量,只有public修饰的变量可以访问!
package chapter02; import chapter01.User; public class Test03 { public static void main(String[] args) { User user = new User(); // 受保护的 // System.out.println(user.age); // public修饰的,在任何位置都可以使用 System.out.println(user.weight); // System.out.println(user.name); } }
最后在不同包下创建一个类,继承User()类,可以访问protected修饰的变量,不能访问默认的变量name!
package chapter02; import chapter01.User; // private 私有的,只能在本类中访问 // public 公开的,在任何位置都可以访问 // protected 受保护的,只能在本类、同包、子类中访问 // 默认的,只能在本类、同包下访问 public class Test04 extends User { public void go(){ System.out.println(this.age); // System.out.println(this.name); } }
总结: