Android(java)学习笔记107-1:通过反射获得带参构造方法并且使用
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:通过反射获得带参构造方法并且使用的更多相关文章
- Android(java)学习笔记48:通过反射获得带参构造方法并且使用
1. 反射获得带参构造方法并且使用: (1)获取字节码文件对象 Class c = Class.forName("cn.itcast_01.Person"); (2)获 ...
- JAVA学习笔记—review基本知识[反射与异常]
JAVA学习笔记—review基本知识[反射与异常] 1.异常: 1.1异常的分类: Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和E ...
- Java学习笔记54(反射详解)
反射概念: java反射机制是在运行状态中,对于任意一个类,都能知道所有属性和方法 对于任意一个对象都能调用它的任意一个方法和属性,这种动态获取和调用的功能称为java的反射机制 实际作用: 已经完成 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- Android动画学习笔记-Android Animation
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
随机推荐
- eclipse 使用gradle构建系统时候报错
今天启动eclipse后,昨天运行正常的gradle项目报错,无法进行编译,错误信息如下: Unable to start the daemon process. This problem might ...
- 使用matplotlib绘制带图例的图表
#coding=utf8 from pylab import * plt.figure(figsize=(8,10), dpi=50) plt.plot(do_tow2[28:508],do_prn2 ...
- 王家林 Spark公开课大讲坛第一期:Spark把云计算大数据速度提高100倍以上
王家林 Spark公开课大讲坛第一期:Spark把云计算大数据速度提高100倍以上 http://edu.51cto.com/lesson/id-30815.html Spark实战高手之路 系列书籍 ...
- MEAN Stack:创建RESTful web service
本文在个人博客上的地址为URL,欢迎品尝. 前段时间做了DTREE项目中的前后端数据存储功能,在原有的ngController上进行HTTP请求,后端接受到请求后再存储到mongoDB上.现将学习所得 ...
- Java处理InterruptedException异常小结
对于InterruptedException,一种常见的处理方式是捕捉它,然后什么也不做(或者记录下它,不过这也好不到哪去).不幸的是,这种方法忽略了这样一个事实:这期间可能发生中断,而中断可能导致应 ...
- hdu 2824 The Euler function
The Euler function Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 经典代码-C宏 #转字符串【瓦特芯 笔记】
在调试C语言程序时,有时需要打印宏的名字.可以通过定义宏,宏名字的数组来获得. 例如: #include <stdio.h> #define MACRO_STR(x) {x, #x} ty ...
- Light oj 1138 - Trailing Zeroes (III) (二分)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1138 题目就是给你一个数表示N!结果后面的0的个数,然后让你求出最小的N. 我们可以知 ...
- UVa 1640 The Counting Problem (数学,区间计数)
题意:给定两个数m, n,求从 m 到 n 中0-9数字各出现了多少次. 析:看起来挺简单的,其实并不好做,因为有容易想乱了.主要思路应该是这样的,分区间计数,先从个位进行计,一步一步的计算过来.都从 ...
- IEBrowse学习笔记
//登录 private void toolStripButton1_Click(object sender, EventArgs e) { //ie.ExecuteScript("aler ...