Java 反射机制详解,retrofit框架

本文详细介绍了Java反射机制,包括获取构造方法、Field变量和Method的操作,强调了`getConstructor()`与`getDeclaredConstructor()`等方法的区别。通过实例展示了如何使用反射调用私有方法和设置非公开变量的值。此外,文章还提及了在实际开发中遵循的代码规范。同时,提到了retrofit框架,但未展开讨论。
摘要由CSDN通过智能技术生成

}

private String getMobile(String number) {

String mobile = “010-110” + “-” + number;

return mobile;

}

private void setCountry(String country) {

this.country=country;

}

public void getGenericHelper(HashMap<String, Integer> hashMap) {

}

public Class getGenericType() {

try {

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();

Method method = getClass().getDeclaredMethod(“getGenericHelper”,HashMap.class);

Type[] genericParameterTypes = method.getGenericParameterTypes();

if (null == genericParameterTypes || genericParameterTypes.length < 1) {

return null;

}

ParameterizedType parameterizedType=(ParameterizedType)genericParameterTypes[0];

Type rawType = parameterizedType.getRawType();

System.out.println("----> rawType=" + rawType);

Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();

if (actualTypeArguments==genericParameterTypes || actualTypeArguments.length<1) {

return null;

}

for (int i = 0; i < actualTypeArguments.length; i++) {

Type type = actualTypeArguments[i];

System.out.println("----> type=" + type);

}

} catch (Exception e) {

}

return null;

}

@Override

public String toString() {

return “Person{” +

“country=’” + country + ‘’’ +

“, city=’” + city + ‘’’ +

“, name=’” + name + ‘’’ +

“, province=’” + province + ‘’’ +

“, height=” + height +

‘}’;

}

}

使用反射获得所有构造方法(包括私有的,非私有的)


默认权限的指的是没有修饰符修饰的

几个重要的方法讲解

| 方法 | 描述 |

| — | — |

| public Constructor getConstructor(Class<?>… parameterTypes) | 获得指定的构造方法,注意只能获得 public 权限的构造方法,其他访问权限的获取不到 |

| public Constructor getDeclaredConstructor(Class<?>… parameterTypes) | 获得指定的构造方法,注意可以获取到任何访问权限的构造方法。 |

| public Constructor<?>[] getConstructors() throws SecurityException | 获得所有 public 访问权限的构造方法 |

| public Constructor<?>[] getDeclaredConstructors() throws SecurityException | 获得所有的构造方法,包括(public, private,protected,默认权限的) |

看了上面的几个方法,其实很好区分

  • 后缀带 s 的返回对

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值