学电脑 计算机培训 就到北大青鸟东莞金码学校 0基础学习 技能提...
移动王者归来 120天征服年薪20万.
北大青鸟APTECH,由北大青鸟集团与印度阿博泰克(APTECH)合资成立...
2017第三届明日之星形象代言人活动
东莞百度竞价培训,SEM关键词竞价信息流优化培训
我们的老师齐集了专家、硕士、博士、高级讲师,他们不但拥有熟练的...
全网推广(营销型网站建设与快速建站、网站优化与推广、软文营销与...
互联网+时代 UI设计师专属课程
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
1. 得到某个对象的属性
public Object getProperty(Object owner, String fieldName) throws Exception {
Class ownerClass = owner.getClass();
Field field = ownerClass.getField(fieldName);
Object property = field.get(owner);
return property;
}
Class ownerClass = owner.getClass():得到该对象的Class。
Field field = ownerClass.getField(fieldName):通过Class得到类声明的属性。
Object property = field.get(owner):通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。
2. 得到某个类的静态属性
public Object getStaticProperty(String className, String fieldName)
throws Exception {
Class ownerClass = Class.forName(className);
Field field = ownerClass.getField(fieldName);
Object property = field.get(ownerClass);
return property;
}
Class ownerClass = Class.forName(className) :首先得到这个类的Class。
Field field = ownerClass.getField(fieldName):和上面一样,通过Class得到类声明的属性。
Object property = field.get(ownerClass) :这里和上面有些不同,因为该属性是静态的,所以直接从类的Class里取。
3. 执行某对象的方法
public Object invokeMethod(Object owner, String methodName, Object[] args) throws Exception {
Class ownerClass = owner.getClass();
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass = args.getClass();
}
Method method = ownerClass.getMethod(methodName, argsClass);
return method.invoke(owner, args);
}
Class owner_class = owner.getClass() :首先还是必须得到这个对象的Class。
5~9行:配置参数的Class数组,作为寻找Method的条件。
Method method = ownerClass.getMethod(methodName, argsClass):通过Method名和参数的Class数组得到要执行的Method。
method.invoke(owner, args):执行该Method,invoke方法的参数是执行这个方法的对象,和参数数组。返回值是Object,也既是该方法的返回值。
4. 执行某个类的静态方法
public Object invokeStaticMethod(String className, String methodName,
Object[] args) throws Exception {
Class ownerClass = Class.forName(className);
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass = args.getClass();
}
Method method = ownerClass.getMethod(methodName, argsClass);
return method.invoke(null, args);
}
基本的原理和实例3相同,不同点是最后一行,invoke的一个参数是null,因为这是静态方法,不需要借助实例运行。
5. 新建实例
public Object newInstance(String className, Object[] args) throws Exception {
Class newoneClass = Class.forName(className);
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass = args.getClass();
}
Constructor cons = newoneClass.getConstructor(argsClass);
return cons.newInstance(args);
}
这里说的方法是执行带参数的构造函数来新建实例的方法。如果不需要参数,可以直接使用newoneClass.newInstance()来实现。
Class newoneClass = Class.forName(className):第一步,得到要构造的实例的Class。
第5~第9行:得到参数的Class数组。
Constructor cons = newoneClass.getConstructor(argsClass):得到构造子。
cons.newInstance(args):新建实例。
6. 判断是否为某个类的实例
public boolean isInstance(Object obj, Class cls) {
return cls.isInstance(obj);
}
7. 得到数组中的某个元素
public Object getByArray(Object array, int index) {
return Array.get(array,index);
}
北大青鸟东莞金码学校是北大青鸟广东省全课程授权中心,拥有软件开发工程师、网络工程师、安卓工程师、学士后Java工程师、学士后 NET工程
北大青鸟东莞金码教育周边的体育馆 北大青鸟东莞金码教育周边的图书馆 北大青鸟东莞金码教育周边的玉兰大剧院 北大青鸟东莞金码教育周边的展览馆
人们为了改变现状,追求自己的幸福生活,越来越多的人都选择了拼搏。那么在拼搏的路上是否真能实现自己的目标,很关键的一步便在于最初的选择,那你需要有一技之长的技术,那么在这个社会,现在学什么技术工资高,就业不用愁呢?那肯定是 学一门好的电脑专业了,高薪资,好就业,前景广阔,提升空间大。要满足这些条件的技术工作,数IT行业最合了!
随着社会的发展,电脑的运用已经普及到我们身边的每一个角落了,或许你会操作电脑,或许你会用电脑帮我们解决一些生活中的难题,但是电脑的功能很强大,你能真正领会到电脑中的奥秘吗?其实电脑里面还有很多东西等着我们去学习,还有很多技术 等着我们去探索,北大青鸟东莞金码学校就是一所学技术的学习!
读电脑学什么有前途?这是一个很多人都会思考的一个问题,无论是正在读书的学生还是已经毕业了的学生,都会为自己以后的前景做打算。那么读电脑学什么有前途呢?又能拿高薪,就业好,每天在舒适的环境下轻松工作呢
写自我评价的核心是:用最少的语言,突现出你最牛X的地方。语言简练,弃用套话 51job简历模板设置的自我评价字数上限是500字,折合下来是5
囧事一:过于职业格格不入话说,人算不如天算。当你费尽心机把自己打扮地相当职业,满怀信心地走到应聘公司门口,却发现,公司的进出的员工
大学毕业找工作,你选择了哪个城市作为自己职业生涯的出发点?最近正值毕业求职季,前程无忧论坛(bbs 51job com)用这个话题带网友们回忆了往
面试时有些错一定不能犯!这一话题日前在前程无忧论坛引起了网友们的热烈讨论。但总有马失前蹄的时候,总会一不留神暴露出破绽。在面试时如
挫折和失败并不可怕。可怕的是害怕失败,害怕失败,就是拒绝成功。失败让人深刻。不经历失败也不会有大的成功。做人无一点真肯的念头,便成
十二招防护云计算或者说云技术的安全,本身就说明了采用云技术的个人、企业甚至是国家需要更多样的安全防护,而这其中,数据本源的安全防护至关 重要。
第一章 计算机网络基础概述1. 计算机网络分成哪几种类型 ? 试比较不同类型网络的特点。答:可以从不同的角度对计算机网络进行分类。按...
各种编程语言的作用及编程问题。如今开发者有很多种途径去解决编程问题,不管是利用大量的类库还是各种各样的技术工具。当然了,随便选择一
又到开学季,无数莘莘学子开始了他乡求知的旅途。求学生活你要怎么开始呢?你是要先享受来之不易的求学生活呢还是继续为人生目标而奋斗
1. 内部初验的条件是什么?内部验收是有华为方面和施工合作方签署的内部验收书,起作为工程付款的依据,其签署的前提条件是由于客户方原因...
动力前行,唱响东莞教育品牌号角贺东莞金码荣登2012东莞教育培训总评榜IT培训类榜首日前,在东莞报业传媒集团召开的2012东莞教育年度总评榜...
男孩子学什么专业好?对于大多数人来说,有这类问题的疑惑,都是希望通过学一门好专业,将来能找一份有前景又适合自己的工作,并能获得高薪
北大青鸟培训多少钱?说到学习说到钱,当然就是跟学费相关了。当然,关心学费是必须的,毕竟谁都不想自己的钱白花了。北大青鸟东莞金码学校
曾经有人说过,程序员不是一般的人,是具有某种超能力的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很
高中毕业学什么技术有前途?高考落榜,没有读到大学,小风只能进入社会打工。只是身无技能,学历又低,刚开始只能去工厂打工,每天重复着简单的流水线工作,从工厂到宿舍,单调乏味,小风觉得这并不是自己想要的生活,想找更好的工作,但因为学历、能力的原因,简历投出去甚至连面试机会都没有。