java 的反射机制与泛型(傻瓜版)

java 的反射机制与泛型

 先不要看标题,觉得很高大上,其实我有我的理解。

通俗点,举个例子:比如有一个食堂,专门生产食物的,按照正常的道理,我们人类可以去吃饭,狗类也可以,猫类也可以去吃饭的。但是如果没有反射与泛型,会怎样? 我们必须给人类造一个食堂,给狗类造一个食堂,给猫类造一个食堂等等。。。。等到我们造完,估计可爱的小猫咪已经饿死了吧哈哈~~~~ 但是其实吃饭这件事是很简单的,我们何不共用一个食堂呢?于是就有了泛型,你们谁都可以来吃饭的。但是问题又来了,
人有筷子吃饭,狗用狗盆,猫用盘子,咋办?我们需要它们每个类型的吃饭方法呀~,于是我们就可以用反射机制,调用它们方法,知道每一个类型的方法,然后大家就和睦共存了哈哈哈

      private class 人类食堂 
    {
       public String getString (people p)
       {
          return p.getEat();
       }
    }

     private class 狗类食堂 
    {
       public String getString (Dog d)
       {
          return d.getPengzi();
       }
    }

  private class 猫类食堂 
    {
       public String getString (Cat c)
       {
          return c.getPanzi();
       }
    }

以上就是平时写的方法。
下面是关键

  private Class<T> 动物大食堂 
  {
  //Class<T>(某类型的class),扔过来的实例化对象,获取方法
      public String Eat (Class<T> clazzT 某动物,String 吃饭方法名)
       {
         //getMethod第一个参数是方法名
        Method method = clazz.getMethod(吃饭方法名);//获取方法
        return method.invoke(某动物,new Object[0]));//让某动物吃饭,后面跟的是方法传的参数可以不写
       }

  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值