/** * 反射类的构造函数,创建类的对象 * * @author qcxiao */ public class Demo2 { // 反射构造函数:public Person() @Test public void test1() throws Exception { Class clazz = Person.class; // 解剖出某一个构造函数的方法 Constructor c = clazz.getConstructor(null); // 利用newInstance创建对象 Person p = (Person) c.newInstance(null); System.out.println(p.name); } // 反射构造函数:public Person(String name) @Test public void test2() throws Exception { Class clazz = Person.class; // 一定要指定参数类型,原因是什么,可想而知 Constructor c = clazz.getConstructor(String.class); Person p = (Person) c.newInstance("fasfasf"); System.out.println(p.name); } // 反射构造函数:public Person(String name,int password) @Test public void test3() throws Exception { Class clazz = Person.class; Constructor c = clazz.getConstructor(String.class, int.class); Person p = (Person) c.newInstance("fasfasf", 2); System.out.println(p.name); } // 反射构造函数:private Person(List list)注意此方法是private // 因此私有方法不能被别的类访问不是绝对的 @Test public void test4() throws Exception { Class clazz = Class.forName("com.qcxiao.reflect.Person"); Constructor c = clazz.getDeclaredConstructor(List.class); c.setAccessible(true);// 可以叫做暴力反射 Person p = (Person) c.newInstance(new ArrayList()); System.out.println(p.name); } // 创建类的另一种途径,等效于test1;当然只能是对于无参的构造函数,当然Person中必须要有一个无参的构造函数 @Test public void test5() throws Exception { Class clazz = Person.class; Person p = (Person) clazz.newInstance(); System.out.println(p); } } // Person是个单独的对象,这里写到同一个类中 class Person { public String name = "成员变量"; public Person() { System.out.println("person"); } public Person(String name) { System.out.println(name); } public Person(String name, int password) { System.out.println("person name:" + name + " ,person password:" + password); } private Person(List list) { System.out.println("list"); } }
相关推荐
福建农林大学javaweb-实验1-期末复盘 本实验主要是为了理解注解的作用和反射机制。通过实验,我们可以了解到如何使用反射机制来读取注解信息,并将其应用于实际的测试中。 一、实验目的: 1. 理解注解的作用 2. ...
Java Web中的反射机制是Java语言一个强大的特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。反射的核心在于Java的`java.lang.Class`类,它代表了运行时的类信息。通过反射,我们可以...
超全面javaweb教程第7天-_18_反射的原理
超全面javaweb教程第7天-_22_反射的总结
它提供了对JavaBean属性的反射式访问,使得开发者无需直接调用getter和setter方法,即可实现对象属性的读取和设置。此外,BeanUtils还支持属性的拷贝、类型转换等功能,极大地方便了数据对象之间的转换和操作。 3. ...
超全面javaweb教程第7天-_20_使用反射操作属性
JavaWeb反射技术是Java开发中的一个重要概念,它允许我们在运行时检查类的信息并动态地创建对象、调用方法。在本学习笔记中,我们将深入探讨JavaWeb应用中反射的运用,以及如何通过提供的"src"目录下的源代码来实践...
超全面javaweb教程第7天-_19_使用反射操作构造方法
超全面javaweb教程第7天-_21_使用反射操作普通方法
### 基于崔希凡JavaWeb笔记day19-day21的知识点提炼 #### 一、BaseServlet设计思想及实现 **知识点1:BaseServlet的设计背景与意义** - **背景**:随着项目的扩大,单一的`Servlet`类数量急剧增多,这不仅增加了...
用javaweb ---- servlet ---- thymeleaf渲染 最初的做法是: 一个请求对应一个Servlet,这样存在的问题是servlet太多了 优化: 1. 把一些列的请求都对应一个Servlet, ..servlet,..servlet---> 合并成FruitServlet ...
在本课堂笔记完整版中,涉及到了关于JavaWeb学习的全面知识点,内容广泛且详尽,涵盖了从基础语法到框架应用,从工具使用到高级技术的深入讲解。以下是根据给出的内容整理出的知识点: 1. **Eclipse的使用**: - ...
深入理解反射机制,允许运行时动态创建对象和调用方法;了解并使用设计模式,如单例、工厂、观察者模式等,提升代码的可维护性和复用性;还有枚举、注解、泛型等Java特性。 3. **Servlet与JSP**:Servlet是JavaWeb...
综上所述,这个JavaWeb项目采用经典的三层架构(表现层、业务逻辑层、数据访问层),通过Servlet处理HTTP请求,利用反射技术提高代码的可扩展性,同时通过DAO和Entity实现了与数据库的交互,完成基本的CRUD操作。...
在这个"酷炫javaweb后台系统"中,包含了一些核心的JavaWeb技术和编程理念,如封装、反射和内省等。这些概念是Java编程的重要组成部分,对于理解和构建高效的应用程序至关重要。 首先,让我们来探讨一下"封装"。封装...
Base64工具类-字符编码工具类-数据类型转换-日期工具类-Escape中文...MD5编码工具类- MD5加密 生成32位md5码-数字工具类-随机数工具类-反射工具类-字符串处理工具类-URL工具类-UUID-常用的数据验证工具类-XML工具类-
### 传智播客方立勋JavaWeb完全笔记知识点概览 #### Eclipse 使用与调试技巧 **1.1 Eclipse 的使用** - **介绍**: Eclipse 是一款功能强大的集成开发环境(IDE),广泛应用于 Java 开发中。 - **核心功能**: - ...
这个实例——"javaWeb综合实例",涉及到了数据库连接对象池、泛型、反射和线程缓存等核心概念,这些都是JavaWeb开发中不可或缺的技术组件。接下来,我们将详细探讨这些知识点。 首先,数据库连接对象池(如C3P0、...
其中包含了Java基础类库、集合框架、多线程、网络编程、I/O流、反射、注解等众多核心内容。汉化版使得阅读和理解更加方便,特别是对于初学者而言。 2. **jdk api 1.8谷歌翻译版.CHM** 和 **jdk api 1.8.CHM**:这两...
反向生成: 任意连接其它数据库(mysql、oracle、sqlserver),根据表反射生成本系统的模块 10. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等 11. 接口测试:POST or GET ...