Java:反射构造的调用
来源:互联网 发布:e店宝官方下载3.0 mac 编辑:程序博客网 时间:2024/06/05 08:32
testdemo.java代码如下:
package cn.dujiang.demo;import java.lang.reflect.Constructor;/**public class TestDemo { public static void main(String[] args) throws Exception { Class<?> cls = Class.forName("cn.dujiang.demo.Food") ; Object obj = cls.newInstance() ; //相当于用new来调用无参构造实例化 System.out.println(obj); }}解释:由于此时Food类没有提供无参构造方法,所以以上的代码是错误的异常如下:Exception in thread "main" java.lang.InstantiationException: cn.dujiang.next.Food at java.lang.Class.newInstance(Class.java:427) at cn.dujiang.demo.TestDemo.main(TestDemo.java:19)Caused by: java.lang.NoSuchMethodException: cn.dujiang.next.Food.<init>() at java.lang.Class.getConstructor0(Class.java:3082) at java.lang.Class.newInstance(Class.java:412) ... 1 more错误的含义:因为当前的Food类里面并没有无参构造方法,所以我们的程序无法进行对象实例化。在这种情况下,只能够明确调用又参构造方法在Class类里面提供有一个方法可以取得构造getContractor() ==================== * @author Dujiang * *//** * 简单Java类的开发之中不管提供有多少个构造方法,请保留无参构造 * @author Dujiang * */public class TestDemo { public static void main(String[] args) throws Exception { Class<?> cls = Class.forName("cn.dujiang.next.Food") ; //public Food(String title, double price ) ; 其找的是类型 Constructor<?> con = cls.getConstructor(String.class,double.class); Object obj = con.newInstance("鱼香肉丝",8.8) ; //实例化对象 System.out.println(obj); }}
Food.java 代码如下:
package cn.dujiang.next;public class Food { private String title ; private double price ; public Food(String title, double price ){ this.title = title ; this.price = price ; } @Override public String toString(){ return "食物名称 :" +this.title+ ",价格 :"+this.price ; } }
0 0
- Java:反射构造的调用
- 如何使用Java的反射机制以及调用构造方法?
- Java反射-------构造方法的反射应用
- 利用Java反射机制,调用一个类的构造函数和一般函数
- java 反射调用 私有构造类中 private static final 属性的方法
- 关于java 反射 创建对象 调用 有参数 的 构造函数
- 80%的Java程序员不知道反射强行调用私有构造器这事儿
- Class.forName java.lang.reflect.Constructor反射调用有参构造函数和无参构造函数的方法
- java反射(3)--反射的调用方法
- java反射调用配置文件构造类对象,使用其方法
- Java反射之调用构造方法and操作数组
- java反射调用配置文件构造类对象,使用其方法
- java反射之使用Constructor调用私有构造函数
- Java:调用反射的方法
- java反射---获取类的构造方法
- java基础:反射类的构造方法
- java的构造器调用
- JAVA构造函数的调用
- 第二章 K-近邻算法 及 约会网站配对
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- 各种进度条的介绍
- Tweak工程
- iOS 银行卡号识别
- Java:反射构造的调用
- realloc,malloc,calloc的区别
- 针对于WebStorm工具开发React工程详细配置
- unity3D-游戏/AR/VR在线就业班 C#入门抽象类学习笔记
- 常用字符串函数
- H5数据推送
- WKWebView 与JS的交互
- Unity实战 RTS3D即时战略游戏开发(七) 信息显示
- git常用命令