前言
Java三大特性:有一个特征叫做继承,这里讲明一波什么是继承吧?
继承
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加 新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。
正文
public class TestFather {
private String apple="苹果";
public String bear="啤酒";
}
class Test extends TestFather{
public static void main(String[] args){
TestFather testFather = new TestFather();
Class clazz = testFather.getClass();
Field[] fields =clazz.getDeclaredFields();
for(Field field:fields){
field.setAccessible(true);
try {
System.err.println("通过反射获得"+field.get(testFather));
}catch (Exception e){
e.printStackTrace();
}
}
}
}
输出:
总结
我们可以得出:除了定义一个public方法获取私有属性之外,还可以通过下面两种方式直接获取私有属性(方法):
- 通过将其定义为内部类:在父类里面定义一个getApple()方法 return 那个属性,直接访问private修饰的属性(方法)
- 通过反射,并设置允许访问私有属性field.setAccessible(true);