Java反射机制demo(一)——实例化Class对象,通过对象获得包名和类型 使用Java中的 本地类作为实验对象,避免自定义的类带来的一些不便. public static void main(String[] args) { try { Class c1 = Class.forName("java.lang.Integer"); System.out.println(c1.getName()); } catch (ClassNotFoundException e) { Syste…
Java反射机制demo(四)—获取一个类的父类和实现的接口 1,Java反射机制得到一个类的父类 使用Class类中的getSuperClass()方法能够得到一个类的父类 如果此 Class 表示 Object 类.一个接口.一个基本类型或 void,则返回 null.如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象. 测试代码: package com.aaron.reflect; public class Demo4 { public static void…
Java反射机制demo(二)—通过Class实例化任意类的对象 上一章节中,实例化了Class类对象的实例,这个部分的demo展示了如何使用Class对象的实例去获得其他类的对象的实例. 任意一个类,UserInfo, package com.aaron.reflect; public class UserInfo{ private int userId; private String name; private int age; public int getUserId() { return…
Java反射机制demo(七)—反射机制与工厂模式 工厂模式 简介 工厂模式是最常用的实例化对象模式. 工厂模式的主要作用就是使用工厂方法代替new操作. 为什么要使用工厂模式?直接new不好吗? 直接new没有什么不好,只是工厂模式可以给系统带来更好的可扩展性和尽量少的修改量. 分类 工厂模式一般有两类,一类是工厂方法模式,另一类是抽象工厂模式.但是<head first 设计模式>中,通过某些例子,实际上把工厂模式分为三种: 简单工厂模式(Simple Factory) 工厂方法模式(Fa…
Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制面前都成了渣渣,Java反射机制读的是字节码,是Class类,有什么获得不了,操作不了的呢. 待实验用的小白鼠Heros类: package com.aaron.reflect; public class Heros { private String name;//名字 private String…
Java反射机制demo(五)—获得并调用一个类中的方法 这个demo在使用反射机制操作属性之前,主要原因是因为在.class文件字节码中,方法排在属性的前面. 1,获得一个类中的方法 先看一下方法和运行结果.获取所有的方法使用Class类中getMethos()方法. 待获取的类: package com.aaron.reflect; public class Heros { private String name;//名字 private String type;//类型 private i…
Java反射机制demo(三)—获取类中的构造函数 1,获取类中所有的构造函数 如下面的代码中所示,这个类中显式的构造函数有五个. 空构造: public UserInfo() 带参构造有四个: public UserInfo(int userId) private UserInfo(String name) protected UserInfo(int userId, String name) public UserInfo(int userId, String name, int age)…
Java 反射理解(二)-- 动态加载类 概念 在获得类类型中,有一种方法是 Class.forName("类的全称"),有以下要点: 不仅表示了类的类类型,还代表了动态加载类 编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 演示 我们以具体的代码来演示什么是动态加载类和静态加载类: 新建:Office.java: class Office { public static void main(String[] args) { // new 创建对象,是静态加载类,在编译时刻就需…
上一篇博文<菜鸟学编程(九)——Java反射机制(一)>里面,向大家介绍了什么是Java的反射机制,以及Java的反射机制有什么用.上一篇比较偏重理论,理论的东西给人讲出来总感觉虚无缥缈,还是结合一些实例比较形象具体.那么今天就结合更多的实例具体说说. 实例一:获得完整的类名 package reflection.getclassname; //获得完整的类名 public class GetClassName { public String getNameByClass() { String…
在反射运用过程中,如果你想得到一个类的完整结构,那么就要使用到java.lang.reflect包中的几个类: · Constructor  表示类中的构造方法 · Field  表示类中的属性 · Method 表示类中的方法 接下来,我们讲讲,如何通过这些API,去获取一个类的完整性结构. 首先,我们定义一个类: package com.chen.yuan.vo; interface China{ // 定义China接口 public static final String NATIONA…