1、什么是反射?
反射允许对成员变量,成员方法和构造方法的信息进行编程访问。说白了反射就是从类中拿东西。把获取到的字段(成员变量)、构造方法和成员方法,进行解刨,划分为获取修饰符、获取名字、获取类型获取值等。eg:图1-1
1-1
2、获取class对象的三种方式
1)Class.forName("全类名")
2)类名.class
3)对象名.getClass();
3、利用反射获取构造方法
4、利用反射获取成员方法
扩展:Java 编程语言中的 API 常量值:
-
java.lang.reflect.Hember:
DECLARED
: 值为 1,可能用于指定成员的查找范围。PUBLIC
: 值为 0,可能用于指定成员的访问权限。
-
java.lang.reflect.Modifier:
ABSTRACT
: 值为 1024,表示成员是抽象的。FINAL
: 值为 16,表示成员是最终的,不能被覆盖。INTERFACE
: 值为 512,表示成员是接口。NATIVE
: 值为 256,表示成员是本地方法。PRIVATE
: 值为 2,表示成员是私有的。PROTECTED
: 值为 4,表示成员是受保护的。PUBLIC
: 值为 1,表示成员是公开的。STATIC
: 值为 8,表示成员是静态的。STRICT
: 值为 2048,表示成员是严格模式的。SYNCHRONIZED
: 值为 32,表示成员是同步的。TRANSIENT
: 值为 128,表示成员是暂时的,不参与序列化。VOLATILE
: 值为 64,表示成员是易失的。
-
java.math.BigDecimal:
ROUND_CEILING
: 值为 2,表示四舍五入到最接近的数,若相等则向上舍入。ROUND_DOWN
: 值为 1,表示直接舍去小数部分。ROUND_FLOOR
: 值为 3,表示四舍五入到最接近的数,若相等则向下舍入。ROUND_HALF_DOWN
: 值为 5,表示四舍五入到最接近的数,若相等则舍去小数部分。ROUND_HALF_EVEN
: 值为 6,表示四舍五入到最接近的数,若相等则舍去小数部分(银行家舍入法)。ROUND_HALF_UP
: 值为 4,表示四舍五入到最接近的数,若相等则向上舍入。ROUND_UNNECESSARY
: 值为 7,表示不需要四舍五入。UP
: 值为 0,表示直接舍去小数部分。
-
java.net.HttpURLConnection:
HTTP_ACCEPTED
: 值为 202,表示请求被接受,但未处理完成。HTTP_BAD_GATEWAY
: 值为 502,表示网关错误。HTTP_BAD_METHOD
: 值为 405,表示方法不允许。HTTP_BAD_REQUEST
: 值为 400,表示请求错误。HTTP_CLIENT_TIMEOUT
: 值为 408,表示客户端超时。
这些常量值通常用于 Java 编程中,以控制程序的行为和处理特定的场景。例如,BigDecimal
中的常量用于控制数值运算时的舍入行为,而 Modifier
中的常量用于控制类、方法、字段等的访问权限和行为特性。HttpURLConnection
中的常量用于处理 HTTP 协议中的状态码。