如何利用java反射机制往.java文件中添加属性

如何利用java反射机制往.java文件中添加属性,第1张

class

c

=

class.forname("student")

//通过字符串装载类,

必须是绝对路径,

即包括包名

object

o

=

c.newinstance()

//获取装载类的实例,

如果找不到就会抛出异常

class[]

cs=

{sting.class,int.class}

//定义一个类的数组,

一般这种都是用在method的参数列表

//string.class说明传的是类型

method

m

=

c.getmethod("study",cs)

//获取装载类的实例的study方法,

注意后面的参数,

class[]

ca

=

{"tom",18}

//和上面有点不同,

这里传的是值

object

result

=

m.invoke(o,ca)

//执行method方法,并获取结果

反射一般都用在类名,字段,方法可以随便变化的时候,

还可以进行统一的处理,提高扩展性

比如说hibernate框架的实体类,

预先你不可能知道实体类会有什么字段,

包括字段的类型都是有可能随意变化的,

这时候要获取指定类的字段信息就必须得使用反射了.

还有struts的actionform等都一样

以上纯属个人意见,

学得不是很深,希望能给你带来帮助

你在构造这类的时候就可以设定一些属性或者方法,如:

class A(){

public String name

public int age

public String getName(){

return name

}

public void setName(String asName){

name=asName

}

.....

}

那么在实例化这个类之后就可以直接set值或者get值

java无法动态添加方法和属性。

java是一门编译性的语言,常见脚本语言是解析性语言。

编译性语言的类的成员与属性在代码编译完成后就已经固定了,无法动态添加;

解释性语言是在运行时可以动态为对象添加属性和方法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11879457.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存