• [解决方法] Java-Class.forName() 反射/映射子类 并转化为父类/接口


    实现通过子类名称字符串 动态获取生成子类.

    用于模板方法, 抽象工厂模式等.

    代码实现:

        public TheParentClass getSubClass(String subClassName)
        {
            Class<?> classSub = Class.forName(subClassName);
            TheParentClass newClass = classSub.asSubclass(TheParentClass.class).newInstance();
    
            // newClass.doMethod();
            return newClass;
        }

    用于代替以下逻辑实现:

    public TheParentClass getSubClass(String subClassName)
    {
    
    if(subClassName=="SubClassA"); 
    {
         return  new SubClassA();
    }
    else if(subClassName=="SubClassB"); 
    {
         return  new SubClassB();
    }
    //......
    else
    {
    return null;
    }
    }
  • 相关阅读:
    使用telnet模拟http请求
    07_Python变量内存地址、小数据池
    04_Linux命令
    03_Linux文件和目录
    06_Python Encoded
    05_Python Format Operation
    04_Python Data Structures
    02_Python基本数据类型
    01_软件开发流程
    03_线性表应用一:栈
  • 原文地址:https://www.cnblogs.com/gaoxihan/p/8185208.html
Copyright © 2020-2023  润新知