java反射技术实例
java反射技术实例
1. [代码][Java]代码
package com.gufengxiachen.java.reflectiontest;
public class Person {
private String name;
private int age;
private static int total;
public Person(){
super();
total++;
}
public Person(String name,int age){
super();
this.name=name;
this.age=age;
total++;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public static int getTotal() {
return total;
}
public static void setTotal(int total) {
Person.total = total;
}jQuery特效
@Override
public String toString() {
// TODO 自动生成方法存根
return "Name:"+name+"\tAge:"+age;
}
}
2. [代码][Java]代码
package com.gufengxiachen.java.reflectiontest;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Scanner;
public class TestReflection01 {
public static void main(String[] args) {
System.out.println("请输入类型名称:");
Scanner scan=new Scanner(System.in);
String className=scan.next();
System.out.println("当前类型:"+className);
try {
Class c=Class.forName(className);
Field[] fs=c.getDeclaredFields();
for(Field f:fs){
System.out.println("--------------------------");
System.out.println("属性:"+f.toString());
System.out.println("\t数据类型:"+f.getType());
System.out.println("\t属性名:"+f.getName());
int mod=f.getModifiers();
System.out.println("\t属性修饰符:"+Modifier.toString(mod)+Modifier.isPrivate(mod));
}
Method[] ms=c.getDeclaredMethods();
for(Method m:ms){
System.out.println("...........................................");
System.out.println("方法:"+m.toString());
System.out.println("\t方法名:"+m.getName());
int mod=m.getModifiers();
System.out.println("\t方法修饰符:"+Modifier.toString(mod));
System.out.println("\t方法参数列表:");
Class pts[]=m.getParameterTypes();
for(int i=0;i<pts.length;i++){
Class class1=pts[i];
if(i!=0)
System.out.println(",");
System.out.println(class1);
}
System.out.println();
System.out.println("\t返回值类型:"+m.getReturnType());
}http://www.huiyi8.com/jiaoben/
Constructor[] cs=c.getDeclaredConstructors();
for(Constructor con:cs){
System.out.println("******************************************");
System.out.println("构造方法:"+con.toString());
System.out.println("方法名:"+con.getName());
int mod=con.getModifiers();
System.out.println("\t方法修饰符:"+Modifier.toString(mod));
System.out.print("\t方法参数列表:");
Class pts[]=con.getParameterTypes();
for(int i=0;i<pts.length;i++){
Class class1=pts[i];
if(i!=0)
System.out.print(",");
System.out.println(class1);
}
System.out.println();
}
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
Class superClass=c.getSuperclass();
System.out.println("当前类的父类:"+superClass.toString());
System.out.println("##########################################");
Class[] interfaces=c.getInterfaces();
System.out.print("当前类所实现接口:");
for(Class class1:interfaces){
System.out.println(class1.toString()+"\t");
}
System.out.println("\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
Package p=c.getPackage();
System.out.println("当前类所在包:"+p.toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
3. [代码][Java]代码 跳至 [1] [2] [3] [全屏预览]
package com.gufengxiachen.java.reflectiontest;
public class User {
public String name;
public int age;
public static int total=100;
public User() {
// TODO 自动生成构造函数存根
super();
}
public User(String name,int age){
super();
this.name=name;
this.age=age;
}
public void setAll(String name,int age){
this.name=name;
this.age=age;
}
public static void showTotal(){
System.out.println("int static method showTotal,total= "+total);
}
@Override
public String toString() {
// TODO 自动生成方法存根
return "用户名:"+name+"\t密码:"+age;
}
}
java反射技术实例的更多相关文章
- java 反射技术
什么是反射?反射就是将字节码中的各种成分映射到相应的java类中来,java反射技术自JDK1.1以来就出现了,目前大多数流行的框架都采用了这种技术,可见其重要性,这篇文章将详细介绍我对java反射技 ...
- Android 插件化开发(一):Java 反射技术介绍
写在前面:学习插件化开发推荐书籍<Android 插件化开发指南>,本系列博客所整理知识部分内容出自此书. 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到J ...
- Android中Java反射技术的使用示例
import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Metho ...
- java反射技术主要实现类有哪些,作用分别是什么
Java反射技术主要实现类有哪些,作用分别是什么? 在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中 1)Class类:代表一个类 2)Field 类 ...
- Java中类加载和反射技术实例
我们知道一个对象在运行时有两种类型,一个是编译类型,一个是运行时类型.在程序运行时,往往是需要发现类和对象的真实的信息的.那么如何获的这种信息呢? 其一,如果我们在编译和运行时都知道类型的具体信息,这 ...
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
原文出处:博主宇宙的极客http://www.cnblogs.com/nokiaguy/archive/2010/07/27/1786482.html 众所周知,AlertDialog类用于显示对话框 ...
- java 反射的实例
JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制 ...
- Java反射的实例
JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法; 这种动态获取的信息以及动态调用对象的方法的功能称为ja ...
- 由浅入深理解----java反射技术
java反射机制详解 java反射机制是在运行状态下,对任意一个类可以获取该类的属性和方法,对任意一个对象可以调用其属性和方法.这种动态的获取信息和调用对象的方法的功能称为java的反射机制 clas ...
随机推荐
- 用Java做一个跳一跳辅助
Java跳一跳辅助 首先..让大家看下效果: 由于是闲着没事写的.也懒得看OpenCV的API了. 要用到的工具如下: adb+jdk 把adb添加到环境变量里就行.很简单. 全部代码如下.就这么多. ...
- Ubuntu 16.04中的Dock的应用顺序调整
操作步骤: 参考: https://askubuntu.com/questions/39805/is-there-an-easy-way-to-rearrange-or-move-the-icons- ...
- sql server 博客
http://blog.csdn.net/tjvictor/article/category/531421/1 http://blog.csdn.net/zhangqidashu/article/de ...
- zerorpc的安装
1.简介及安装 rpc使构建分布式系统简单许多,在云计算的实现中有很广泛的应用 rpc可以是异步的 python实现rpc,可以使用标准库里的SimpleXMLRPCServer,另外zerorpc是 ...
- javascript一些面试经常使用的问题总结
有关函数调用变量问题 var a =10; function aaa(){ alert(a); } function bbb(){ var a = 20; aaa(); //10 } bbb(); 变 ...
- Odoo 养猪
阶段 仔猪养成为肉猪 乳猪养成为仔猪 母猪繁殖乳猪 每一个饲养阶段,基本上在同一组笼舍,活动场所:进入到下一饲养阶段才会转换笼舍.在每一个饲养阶段,基本上经历以下过程 饲养 注射疫苗 饲养 投 ...
- C#复习总结6 (需要进一步复习)
第十七章 泛型 什么是泛型 泛型是为了适应多种不同种类的数据类型而存在的.有了它之后,我们可以不用为不同的数据类型而单独写一个适配.这样很麻烦. 类型不是对象,而是对象的模板.泛型类型也不是类型,而是 ...
- kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的 ...
- Flash文字效果
flash中增加文本.使用了消除锯齿:可读性消除锯齿.发现不嵌入字体的无法动态改动里面的文字,但嵌入字体的话会造成swf文件过大. 终于还是选择了使用设备字体,并选择了黑体.出了一个问题.文字没有加粗 ...
- Fckeditor常见漏洞的挖掘与利用整理汇总
查看编辑器版本号 FCKeditor/_whatsnew.html ------------------------------------------------------------- 2. V ...