yunzhongxiaoma
yunzhongxiaoma
采纳率100%
2018-11-26 14:26

反射修改属性,设计者为什么不直接弄成Class c = stu.getClass();c.set(stu,“name”,”tom”)?

已采纳

感觉很别扭
Class c = stu.getClass();
Field nameField = c.getField("name");
nameField.set(stu, "tom");
为啥不写成下面这种:
Class c = stu.getClass();
c.set(stu,“name”,”tom”);

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 3年前

    如果基类和派生类各有一个同名的字段,用你的代码设置的是哪个,另一个用什么设置。
    再来一个需求,让你得到这个字段的类型和访问修饰符,怎么做。再写两个函数吧,我猜你会这么想。那么所有的操作字段,函数,枚举,内置类,等等所有的函数全部都堆在class下了,多乱。

    点赞 1 评论 复制链接分享