1. 反射获得带参构造方法并且使用:

(1)获取字节码文件对象

      Class c = Class.forName("cn.itcast_01.Person");

(2)获取带参构造器对象,public Constructor<T> getConstructor(Class<?>... parameterTypes)

     Constructor con = c.getConstructor(String.class ,    int.class ,   String.class);

(3)通过带参构造器对象创建对象,public T newInstance(Object... initargs)

     Object obj = con.newInstance("林青霞", 27, "北京");

     System.out.println(obj);

运行效果图和代码如下(下面的Person是另外一个包下的,这里我们访问Person):

 1 package cn.itcast_02;
2
3 import java.lang.reflect.Constructor;
4
5 /*
6 * 需求:通过反射去获取该构造方法并使用:
7 * public Person(String name, int age, String address)
8 *
9 * Person p = new Person("林青霞",27,"北京");
10 * System.out.println(p);
11 */
12 public class ReflectDemo2 {
13 public static void main(String[] args) throws Exception {
14 // 获取字节码文件对象
15 Class c = Class.forName("cn.itcast_01.Person");
16
17 // 获取带参构造方法对象
18 // public Constructor<T> getConstructor(Class<?>... parameterTypes)
19 Constructor con = c.getConstructor(String.class, int.class,
20 String.class);
21
22 // 通过带参构造方法对象创建对象
23 // public T newInstance(Object... initargs)
24 Object obj = con.newInstance("林青霞", 27, "北京");
25
26 System.out.println(obj);
27 }
28 }

Android(java)学习笔记107-1:通过反射获得带参构造方法并且使用的更多相关文章

  1. Android(java)学习笔记48:通过反射获得带参构造方法并且使用

    1. 反射获得带参构造方法并且使用: (1)获取字节码文件对象       Class c = Class.forName("cn.itcast_01.Person"); (2)获 ...

  2. JAVA学习笔记—review基本知识[反射与异常]

    JAVA学习笔记—review基本知识[反射与异常] 1.异常: 1.1异常的分类: Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和E ...

  3. Java学习笔记54(反射详解)

    反射概念: java反射机制是在运行状态中,对于任意一个类,都能知道所有属性和方法 对于任意一个对象都能调用它的任意一个方法和属性,这种动态获取和调用的功能称为java的反射机制 实际作用: 已经完成 ...

  4. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  5. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  6. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  7. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  8. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  9. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

随机推荐

  1. ACM2050

    问题描述:   平面上有n条折线,问这些折线最多能将平面分割成多少块? 样例输入 1 2 样例输出 2 7 答案是: 2n ( 2n + 1 ) / 2 + 1 - 2n = 2 n^2 – n + ...

  2. MongoVUE 如何导出数据

    1.MongoVUE导出数据 正常连接如数据后,打开对应数据库的collections,然后点击右上角的“Refresh”的下拉小三角,打开export 根据个人喜好,或业务需求,选择导出的格式 最后 ...

  3. 【转】Maven实战(四)---多模块项目---JBOSS部署问题

    原文出自于:http://blog.csdn.net/liutengteng130/article/details/41622681      感谢! 这几天在搭框架中仅仅是JBOSS就遇到了很多问题 ...

  4. Delphi实例-IdTCPServer和IdTCPClient的使用(支持文件发送)

    相关资料: http://blog.csdn.net/earbao/article/details/46514313 结果注意: 1.Use IdContext.IdGlobal 这两个单元2.不能使 ...

  5. POJ 2421 Constructing Roads (最小生成树)

    Constructing Roads 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/D Description There ar ...

  6. 删除MySQL重复数据

    删除MySQL重复数据 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据.因为在采集中,对于同一台设备,同一个时间点应该只有一个数据,然 ...

  7. iOS 8版本信息与屏幕尺寸

    原文  http://www.cnblogs.com/smileEvday/p/iOS8.html   1.UIWindow的bounds iOS 7之前Window的bounds不会随着方向而变化, ...

  8. ssh使用ajax异步通讯. json与对象转换的几个小问题

    首先是hibernate,用ssh做项目的时候,使用hibernate,这个hibernate博大精深,至今只懂皮毛.建对象时候使用它的一对多,多对多联系,. 这样子,对象转json的时候会产生循环依 ...

  9. python函数介绍

    1.向函数传递信息 def greet_user(username): print('Hello,' + username.title() + '!') greet_user('jesse') 2.位 ...

  10. ios8,xcode6 周边

    NSBundle.mainBundle().infoDictionary iOS 8中带按钮的推送代码 ") ){ application.registerForRemoteNotifica ...