JAVA中修饰符:(1)public(公共的)(2)protectd(被保护的)(3)default(缺失:)(4)private(私有的)
1.在同一个package下的情况
public protectd default 被继承后可以获取,private不能获取到(只能在本类中获得)
package com.packagetest;
/**
* 父类Person
*
* @author Administrator
*
*/
public class Person {
public String name;// public
protected String age;// protected
String address;// protected
private String phone;// private
}
package com.packagetest;
/**
* 子类
*
* @author Administrator
*
*/
public class SonPerson extends Person {
}
package com.packagetest;
/**
* 测试:可以在其他类中获得
*
* @author Administrator
*
*/
public class TestPerson {
public static void main(String[] args) {
// TODO Auto-generated method stub
SonPerson son = new SonPerson();
// public 在同包情况下可以获得到
son.name = "小四";
System.out.println("public输出:" + son.name);
// protected 继承的在同一包的情况下可以获得
son.age = "29";
System.out.println("protected输出:" + son.age);
// default
son.address = "北京海淀";
System.out.println("default输出:" + son.address);
// private 会提示错误
son.phone = "185********";
System.out.println("private输出:" + son.phone);
}
}
2.在不同package下的情况
protectd default private不能获取到
总结:
修饰符 | 同一个类 | 同一个包中 | 子类 | 所有类 |
---|---|---|---|---|
private | ✔ | |||
default(即不加修饰符的时候) | ✔ | ✔ | ||
protected | ✔ | ✔ | ✔ | |
public | ✔ | ✔ | ✔ | ✔ |