使用反射替代Switch语句

本文展示了如何利用Java反射API替代传统的Switch语句,以实现更简洁的代码。通过一个工厂模式示例,阐述了如何通过Class.forName()方法动态创建对象,解释了Class对象的作用以及获取Class实例的三种方式。
摘要由CSDN通过智能技术生成

下面是一个简单的工厂模式的例子,然后把这个例子里面的switch语句通过反射来实现:

首先创建一个ITree的接口:

public interface ITree {
    void plant();
}

然后让下面三个类分别实现这个接口:

public class BanyanTree implements ITree {
    @Override
    public void plant() {
        //plant 一棵榕树
        System.out.println("Plant a Banyan ITree.");
    }
}
public class Cypress implements ITree {
    @Override
    public void plant() {
        // Plant 一棵柏树
        System.out.println("Plant a cypress.");
    }
}
public class Poplar implements ITree {
    @Override
    public void plant() {
        //种植一棵杨树
        System.out.println("Plant a poplar.");
    }
}

新建一个enum类型的TreeType ,包含有榕树、柏树、杨树三种类型:

public enum TreeType {
    BanyanTree,//榕树
    Cypress,//柏树
    Poplar//杨树
}

创建一个TreeFactory类:

publi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值