上一篇:传统属性赋值弊端 | 带你学《Java语言高级特性》之八十九
【本节目标】
本节介绍了属性自动赋值的实现思路,需要一个专门的ClassInstanceFactory类负责所有的反射处理,即:接收反射对象与要设置的属性内容,同时可以获取指定类的实例化对象。
属性自动设置解决方案
经过分析后已经确认了当前简单Java类操作的问题所在,而对于开发者而言就需要想办法通过一种解决方案来实现属性内容的自动设置,那么这时的设置强烈建议采用字符串的形式来描述对应的类型。
1、在进行程序开发时String字符串可以描述的内容有很多,并且也可以由开发者自行定义字符串的结构,下面就采用“属性名:内容|属性名:内容|”的形式来为简单Java类中的属性初始化。
2、类设计的基本结构:应该由一个专门的ClassInstanceFactory类负责所有的反射处理,即:接收反射对象与要设置的属性内容,同时可以获取指定类的实例化对象。
反射与简单Java类
3、设计的基本结构:
public class JavaAPIDemo {
public static void main(String[] args)throws Exception{
String value="ename:Smith|job:Clerk";
Emp emp = ClassInstanceFactory.create(Emp.class, value);
System.out.println("姓名:" + emp.getEname() + "、职位:" + emp.getJob());
}
}
class ClassInstanceFactory{
private ClassInstanceFactory(){}
/**
* 实例化对象的创建方法,该对象可以根据传入的字符串结构:"属性:内容|属性:内容"
* @param clazz 要进行反射实例化的Class对象,有Class就可以反射实例化对象
* @param value 要设置给对象的属性内容
* @return 一个已经配置好属性内容的Java对象
*/
public static <T> T create(Class<?> clazz,String value){
return null;
}
}
那么在当前的开发中,所需要完善的就是ClassInstanceFactory.create()处理方法。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学