Atitit.跨语言反射api 兼容性提升与增强 java c#。Net  php  js

1. 什么是反射1

1.1.       反射提供的主要功能:1

1.2.       实现反射的过程:1

2. 常用的反射api2

2.1. Apache  common-lang 。Reflect  5个类2

2.2. java.lang.reflect;   20个类2

2.3. C# 。Net反射api2

2.4. Php   ReflectionClass   ReflectionMethod 2

3. C# java的区别实现2

4. 参考3

1. 什么是反射

在运行时环境,能否根据一个类的名字,来得到这个类的属性和方法?对于任何一个运行时的对象能否动态调用这个对象的方法?答案是可以的。这种动态的获取类的信息以及动态调用一个对象的方法的机制叫做反射。

1.1.       反射提供的主要功能:

1.在运行时判断任意一个对象所属的类

2.在运行时构造一个类的对象

3.在运行时判断一个类所具有的属性和方法

4.在运行时调用一个对象的方法

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.2.       实现反射的过程:

1.加载一个类

2.根据这个类动态创建一个对象

3. 动态得到这个对象的方法

4.调用这个对象的方法

2. 常用的反射api

获取实例,调用方法,获取方法与属性集合。 获取注释  获取anno

2.1. Apache  common-lang 。Reflect  5个类

2.2. java.lang.reflect;   20个类

o = ConstructorUtils.invokeConstructor(

Class.forName(classname), null);

Object invokeMethod_ret = MethodUtils.invokeMethod(o, meth_name,

req);

2.3. C# 。Net反射api

2.4. Php   ReflectionClass   ReflectionMethod

$class = new ReflectionClass('Person');//建立 Person这个类的反射类

3. C# java的区别实现

不过在C#可以加载程序集Assembly.LoadFile("文件路径");,JAVA中好

像没有,因为JAVA最多也就打个JAR包。
在类的里面的方法,属性都可以用for或者foreach打印出来。

总结:

看来两种语言在互相学习,互相COPY,嘿嘿。竟然做一个反射,

思路一样的。只不过在JAVA中,用的是CLASS,而C#用的是TYPE。

继续努力,加油!!!

4. 参考

PHP的反射机制 - guisu,程序人生。 逆水行舟,不进则退。 - 博客频道 - CSDN.NET.htm

PHP的反射类ReflectionClass、ReflectionMethod使用实例_php实例_脚本之家.htm

JAVA反射与C#反射之比较 - 孤独游 - 博客频道 - CSDN.NET.htm

JAVA反射与C#反射_神秘猪_新浪博客.htm

Atitit.跨语言反射api 兼容性提升与增强 java c#。Net  php  js的更多相关文章

  1. Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案

    Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以 ...

  2. atitit.跨语言执行cmd cli api的原理及兼容性设计草案

    atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件  /c   ...

  3. atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js

    atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐)  vs   lang  ...

  4. Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面

    Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面 1. 常用算法1 1.1. 目录2 1.2. 定义和用法编辑2 1.3 ...

  5. Atitit.跨语言系统服务管理器api兼容设计

    Atitit.跨语言系统服务管理器api兼容设计 1. Common api,兼容sc ,service control??1 1.1. 服务创建,use sc1 1.2. 服务delete ,use ...

  6. Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx

    Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...

  7. Atitit.跨语言异常转换机制 java c# php到js的异常转换

    Atitit.跨语言异常转换机制 java c# php到js的异常转换 1. bizEx   直接抓取,然后js catchEX1 2. Chkec runtimeEx1 3. Other异常..J ...

  8. Atitit.跨语言  文件夹与文件的io操作集合  草案

    Atitit.跨语言  文件夹与文件的io操作集合  草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...

  9. Atitit.提升api兼容性的方法 v3 q326

    Atitit.提升api兼容性的方法 v3 q326 1. Atitit.兼容性的“一加三”策略1 2. 2. 扩展表模式1 3. 3. 同时运行模式1 3.1. 3.1. 完美的后向兼容性2 3.2 ...

随机推荐

  1. memcahced部署

    Memcached是一个内存数据库,数据以key/value键值对的形式保存在服务器预先分配的内存区块中,由于Memcached服务自身没有对缓存的数据进行持久化存储的设计,因此,在服务器端的Memc ...

  2. 微信小程序开发教程(四)线程架构与开发步骤

    线程架构 从前面的章节我们可以知道,.js文件是页面逻辑处理层.我们可以按需在app.js和page.js中添加程序在生命周期的每个阶段相应的事件.如在页面的onLoad时进行数据的下载,onShow ...

  3. luogu P2134 百日旅行

    题目链接 luogu P2134 百日旅行 题解 dp方程好想吧 优化有些玄学惹 不会证.... 不过我会三分和贪心 \滑稽 但还是写dp吧 代码 #include<cstdio> #in ...

  4. priority_queue的运算符重载问题

    对于需要比较的函数或STL(最常见的为sort,priority_queue) 要对自创的结构进行运算符重载(sort可以写cmp,一样的效果) 1.只能对小于号重载 cmp函数与其起到相同的作用 2 ...

  5. 【数形结合】Gym - 100923I - Por Costel and the Pairs

    perechi3.in / perechi3.out We don't know how Por Costel the pig arrived at FMI's dance party. All we ...

  6. 【权值分块】bzoj1503 [NOI2004]郁闷的出纳员

    权值分块,离散化非常蛋疼,只能离散化搞…… 需要支持操作:删除<=某个值得所有权值==打标记 O(sqrt(n)) 码长和我的平衡树差不多……速度快3倍左右. #include<cstdi ...

  7. 13test02:阶乘

    //假设32位int型变量y是表示最大人数的x的阶乘,即y=x!,当x最大值取什么时,y取最大值 //,且乘法不溢出. #include<iostream> using namespace ...

  8. url参数的获取

    方法 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&am ...

  9. vscode monokai

    https://studiostyl.es/schemes/sublime-text-3-monokai

  10. 开发板tftp:timeout问题

    想要从PC上面tftp文件的时候遇到了tftp:timeout的问题: >: tftp -gr gprsapp 192.168.1.38tftp: timeout 检查了网络,可以ping的通P ...