没时间解释,先上代码,改日再编辑
package test;
import java.lang.reflect.Method;
class Foo {
public String fool(String[] say) {
for (String i : say)
System.out.println("I want to say :" + i);
return "success";
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("main started...");
try {
Class<Foo> c = Foo.class;
System.out.println("c = " + c);
Object invoker = c.newInstance();
System.out.println("invoker = " + invoker.getClass());
Method m = c.getMethod("fool", new Class[] { String[].class });
System.out.println(m.invoke(invoker, new Object[] { new String[]{"1", "2", "3"} }));
} catch (Exception e) {
e.printStackTrace();
}
}
}
public String getInsertSql(String tableName) {
String insertSql = "";
String column = "";
String value = "";
try {
Class c = this.getClass();
Method m;
Field[] fields = c.getDeclaredFields();
for (Field f : fields) {
column += f.getName();
m = c.getMethod("get"
+ f.getName().substring(0, 1).toUpperCase()
+ f.getName().substring(1), null);
value += m.invoke(this, null);
}
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(column + value);
return insertSql;
}
分享到:
相关推荐
Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Spring框架中,反射扮演着核心角色,特别是在依赖注入(DI)和面向切面编程(AOP)中。下面我们...
静态代理是通过手动创建代理类来实现的,而动态代理则是利用Java的反射API在运行时动态创建代理类。 在Java 1.5之后,引入了`java.lang.instrument`包,提供了对Java应用程序进行字节码级别操作的能力,从而实现...
java高手真经 全光盘源代码 打包rar ...javareflection.zip 26.Java反射机制与动态代理 javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性
【Java软件开发简历版本样例】是一份针对Java软件开发工程师职位的专业简历模版,适合有一定工作经验的开发者参考。这份简历突出了申请者张三在Java领域的专业技能和实际项目经验。 张三拥有3年的Java开发经验,他...
看到那些要积分的很不酸,发布免费版本。...javareflection.zip 26.Java反射机制与动态代理 javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性
看到很多人都分卷打包的,下载很是不方便,还浪费积分...javareflection.zip 26.Java反射机制与动态代理 javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性
7. **反射机制**:反射是Java的一大特色,它允许在运行时检查类、接口、字段和方法的信息,甚至动态调用方法。 8. **Java标准库**:熟悉Java的API,如IO、NIO、网络、XML解析、日期时间处理等。 9. **泛型**:泛型...
`java.lang.reflect` 包提供了类、接口和构造器的反射API。 10. **设计模式**: 设计模式是解决常见问题的最佳实践,如工厂模式、单例模式、观察者模式等。这些模式在 Java01 和 Java02 中可能有所体现,有助于...
单例模式是将将构造方法限定为private避免了类在外部被实例化,在同一个虚拟机范围内,Singleton的唯一实例只能通过提供的入口获得[例如getInstance()方法], 事实上,通过Java反射机制是能够实例化构造方法为private...
反射Java基础反射操作工具包下载依赖< repositories> < repository> < id>github-maven-repo</ id> < url>... public class User { pr
Java反射API允许我们在运行时检查类、接口、字段和方法的信息,甚至能够在运行时调用私有方法或访问私有字段。在模拟`eval()`功能时,我们可能需要使用`Class.forName()`加载类,`Method.invoke()`执行方法,或者`...
8. **反射API**:通过反射可以在运行时获取类的信息,创建对象,调用方法,修改属性值,这是Java动态性的重要体现。 9. **Lambda表达式**:Java 8引入的新特性,简化了函数式编程,可以更简洁地编写匿名函数和处理...
基于Java语言的NetCDF文件解析,使用了netcdf4和opencsv两个库,最终将解析后的数据导出为CSV,附依赖文件、源代码及一个测试数据样例。 可结合本人的博客...
10. **反射和注解**:反射允许在运行时检查类的信息,注解提供元数据,样例程序会展示它们如何用于动态绑定和自定义元编程。 11. **Lambda表达式和Stream API**:Java 8引入的新特性,样例程序会演示如何简化函数式...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。...通过阅读“2java私塾面试题----JAVA代码与编程1.pdf”这份资料,你可以进一步了解具体面试问题的样例和解答思路,提升自己的面试准备。
文件操作、异常处理、线程并发、网络编程、反射机制、设计模式等都是Java进阶学习的重点。在华为的项目中,这些技术常用于实现高效的数据处理、服务间的通信以及系统优化。 三、Java框架与工具 在实际开发中,...
这里的`@Retention(RetentionPolicy.RUNTIME)`确保我们的注解在运行时仍然可用,这样我们可以在程序运行期间通过反射机制来处理这些注解。 接下来,我们可以在需要的地方使用这个自定义注解。例如,在一个方法上: ...
10. **反射API**:在运行时动态地获取类的信息并操作类的对象,包括Class类、Constructor类、Method类的使用。 11. **JNI(Java Native Interface)**:允许Java代码和其他语言写的代码进行交互,通常用于提升性能...