阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第24章:反射与简单Java类:课时110:属性自动赋值实现思路
程序员文章站
2022-07-04 18:50:58
...
经过了分析之后已经确认了当前简单Java类操作的问题所在,而对于开发者而言就需要想办法通过一种解决方案来实现属性内容的自动设置,那么这个时候的设置强烈建议采用字符串的形式来描述对应的类型。
1、在进行程序开发的时候String字符串可以描述的内容有很多,并且也可以由开发者自行定义字符串的结构,下面就采用“属性:内容|属性:内容|”的形式来为简单Java类中的属性初始化。
2、类设计的基本结构:应该由一个专门的ClassInstanceFactory类负责所有的反射处理,即:接收反射对象与要设置的属性内容,同时可以获取指定类的实例化对象。
3、设计的基本结构:
class ClassInstanceFactory {
private ClassInstanceFactory() {}
/**
* 实例化对象的创建方法,该对象可以根据传入的字符串结构“属性:内容|属性:内容”
* @param clazz 要进行反射实例化的Class类对象,有Class就可以反射实例化对象
* @param value 要设置给对象的属性内容
* @return 一个已经配置好属性内容的简单Java类对象
*/
public static <T> T create(Class<?> clazz,String value) {
return null ;
}
}
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());
}
}
那么在当前的开发之中,所需要留给用户完善的就是ClassInstanceFactory.create()处理方法。
推荐阅读
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第22章:反射应用案例:课时101:反射实例化对象
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第24章:反射与简单Java类:课时111:单级属性赋值
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第18章: 输入与输出支持:课时84:打印流
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第22章:反射应用案例:课时102:反射与工厂设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第16章:字节流与字符流:课时75:Writer字符输出流
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第26章:反射与代理设计模式:课时118:动态代理设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第23章:反射与类操作:课时105:反射调用构造方法(含关系图-重要)
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第25章:ClassLoader类加载器:课时115:ClassLoader类加载器简介
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第12章:开发支持类库:课时49:ThreadLocal类
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第33章:集合工具类:课时149:Collections工具类