反射

关于继承
继承父类后,方法可以添加自己的逻辑
重写方法,添加自己的逻辑代码,super.方法名称调用父类方法
关于properties属性集合
必须使用UTF-8编码、文件必须为键值对形式(key=value)
可以与IO流同用
使用流程
创建一个properties集合
读取该文件内容并添加到集合中
然后进行操作,与集合相同
反射
获取字节码文件对象有三种方式
类名.class
对象名.getclass
Class.forName(字节码文件路径)
反射大致流程
首先获取对应类字节码文件对象
获取字节码文件对象中的构造方法、成员对象、成员方法
取消Java语法检查(由于不确定是否为私有变量,所以一般情况都会取消)
创建构造方法对象(可以赋值使用)、给成员变量赋值取值、调用成员方法
获取字节码文件对象中成员方法
获取构造方法
getConstructors()只能获取公开的
getDeclaredConstructors() 可获取所有
获取策划光年远变量
getFields() 只能获取公开的
getDeclaredFields()可获取所有
获取成员方法
getMethods() 只能获取公开的
getDeclaredMethods()可获取所有
如果获取成员是私有的,需要取消Java语言检测
setAccessible()

反射中,实现成员方法
	public Object invoke(Object obj,Object... args)对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。	
	其中,obj是对应字节码的实例对象,也可以是直接new出来的本类对象

动态代理(Peoxy)
Proxy.newProxyInstance(代理类的类加载器,代理类实现的接口列表,动态代理方法)
动态代理方法要实现InvocationHandler接口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值