Java SE之反射技术[Field](二)
如果对于反射的基本概念还不了解的请见上一帖子。本文仅谈fields的用法demo
/**
*
* @author Zen Johnny
*
*/
package com.cpms.test; import java.lang.reflect.Field;
import java.util.List; public class ReflectDemo {
public static void reflect() {
Person employee = new Person();
Class<Person> clazz = (Class<Person>) employee.getClass(); for(Field field : clazz.getDeclaredFields()) {//getDeclaredFields
System.out.println(field + "【" + field.getName() + "】");
}
System.out.println("**********************************************");
for(Field field : clazz.getFields()) {//getFields
System.out.print(field + "【" + field.getName() + "】");
}
System.out.println("**********************************************"); } public static void main(String args[]) {
reflect();
}
} class Person{
public String nickName;//public field
private String realName;
private int age;
private List<String> friends;
private double money; //no setter and getter public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getFriends() {
return friends;
}
public void setFriends(List<String> friends) {
this.friends = friends;
} @Override
public String toString() {
return "Person [nickName=" + nickName + ", realName=" + realName + ", age=" + age + ", friends=" + friends
+ ", money=" + money + "]";
}
}
输出:
所有属性:
public java.lang.String com.cpms.test.Person.nickName【nickName】
private java.lang.String com.cpms.test.Person.realName【realName】
private int com.cpms.test.Person.age【age】
private java.util.List com.cpms.test.Person.friends【friends】
private double com.cpms.test.Person.money【money】(无set个get的属性) **********************************************
公共属性:
public java.lang.String com.cpms.test.Person.nickName【nickName】
**********************************************
Java SE之反射技术[Field](二)的更多相关文章
- Java SE之反射技术[Class,Field](一)
一.什么是反射? 反射库(Reflection Library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序.这项功能被大量地应用在JavaBeans中,它是Java组 ...
- Java SE之反射技术[Class](三)
/** * * @author Zen Johnny * */ package com.cpms.test; import java.lang.reflect.Field; import java.u ...
- 第89节:Java中的反射技术
第89节:Java中的反射技术 反射技术是动态的获取指定的类,和动态的调用类中的内容(没有类前就可以创建对象,将对象的动作完成,这就是动态的获取指定的类). 配置文件把具体实现的类名称定义到配置文件中 ...
- 黑马程序员:Java编程_反射技术
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性 ...
- JavaSE 学习笔记之反射技术(二十四)
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员.简单说:反射技术可以对一个类进行解剖. 反射的好 ...
- [转] Java se 7新特性研究(二)
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp82 今天主要研究Java se 7中异常处理的新功能.从今天开始正在 ...
- JAVA:将反射技术应用于工厂模式(Factory)和单例模式(Singleton)的简单代码
反射技术大量用于Java设计模式和框架技术,最常见的设计模式就是工厂模式(Factory)和单例模式(Singleton). 参考URL: http://blog.csdn.net/xiaohai79 ...
- 【转】【Java】利用反射技术,实现对类的私有方法、变量访问
java关于反射机制的包主要在java.lang.reflect中,structs,hibernate,spring等框架都是基于java的反射机制. 下面是一个关于利用java的反射机制,实现了对私 ...
- java 基础之 反射技术
1. java代码 在 java 语言中最核心的就是代码的运行, 按照面向对象的思想,在调用java代码时往往需要先创建对象,再调用方法, 而写在方法中的即所谓的java 代码 一段java代码在程序 ...
随机推荐
- Test Scenarios for Excel Export functionality
1 File should get exported in proper file extension2 File name for the exported excel file should be ...
- linux系统下find命令的使用
1.find /* -name erlang 当前目录下,查找名为erlang的文件和目录 find /* -name rabbitmq-server 当前目录下,查找名为 rabbitmq-serv ...
- Java常用工具方法
以GET请求形式获取文本文件内容 /** * 以GET请求形式获取文本文件内容 * @param url http下载地址,比如http://www.abc.com/123.css * @return ...
- Uva1001-floyd算法-建图
给出一些球,球内的时间为零,球之间的速度为10每单位. 给两个点,求最短时间. 把每一个球当做点,球间的距离就是floyd的d数组.之后跑一遍floyd wa了两发因为d数组定义成int了 #incl ...
- webservice 测试页面
转载:http://www.cnblogs.com/JuneZhang/archive/2013/01/24/net.html 解决WebService 测试窗体只能用于来自本地计算机的请求 问题: ...
- Java 8新特性之 Base64(八恶人-7)
"General" 我是个将军 “ You, sir a hyena. I hava no wish to speak to you.” “你就是一个土狗,你不配跟我说话” 一. ...
- service的生命周期
Managing the Lifecycle of a Service service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的s ...
- Windows下禁用锁屏热键WinKey+L
在注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]中创建名字为DisableLockWo ...
- A1058. A+B in Hogwarts
If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- a ...
- JAVA Swing使用JFreeChart实现折线图绘制
效果如下: 实现步骤: 1.导入JAR包 jfreechart官网下载的zip文件中包含这两个jar包 2.代码编写 import org.jfree.chart.ChartFactory; impo ...