复习笔记:一个简单的反射工厂Demo

项目根目录创建一个properties文件:

Apple = cn.gry.vo.Apple
Orange = cn.gry.vo.Orange

创建接口:

interface Fruit{
    public void eat() ;
}

创建两个vo类:

class Apple implements Fruit{
    public void eat(){
        System.out.println("吃苹果") ;
    }
}
class Orange implements Fruit{
    public void eat(){
        System.out.println("吃橘子") ;
    }
}

创建反射工厂类:

class Factory{
    public static Fruit getFruit(String className) throws Exception{
        className = ResourceBundle.getBundle("Message",new Locale("zh","CN")).getString(initCap(className)) ;
    }
    public String initCap(String str){
        return str.subString(0,1).toUpperCase() + str.subString(1,str.length()) ;
    }
}

测试一下:

public class Test{
    public static void main(String[] args){
        Fruit f = Factory.getFruit("apple") ;
        f.eat() ;
    }
}

输出结果:

吃苹果

 

转载于:https://www.cnblogs.com/gaorongyi/p/5111402.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值