package com.test.classtest;

public class test {

public static void main(String[] args) throws Exception {
String hl = "hello";
String sm = "smile";
String word = "world";
World wr= null;

Hello hello = new Hello(hl);
Smile smile = new Smile(sm);

/*wr = hello;

wr.setSmile(smile);

wr.outPut(hl);
wr.changeWords(sm, hl);
wr.getSmile().smile(word);*/
World world = new World(word);
Smile se = (Smile) Class.forName("com.test.classtest.Smile").newInstance();

}

}

Exception in thread "main" java.lang.InstantiationException: com.test.classtest.Smile
at java.lang.Class.newInstance(Class.java:427)
at com.test.classtest.test.main(test.java:23)
Caused by: java.lang.NoSuchMethodException: com.test.classtest.Smile.()
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.newInstance(Class.java:412)

这个问题要确认三点:

1.不论Class.forName("com.test.classtest.Smile")中的类是否和main函数在同一个包下面,都要写类的全名:包名+类名;

2.实例化的对象是一个接口或者是抽象类等无法被实例化的类

3.使用类反射实例化某个对象时,如果这个对象不包含无参数的构造函数,也会出现这个错误,解决办法是在这个要通过类反射实例化的这个类中添加一个空的无参数构造函数就可以了

另:

在Hibernate中就有明确的要求:每一个持久化类都必须带一个不带参数的构造方法。

这里说明一点,如果你在类中声明了带参数的构造函数,会自动覆盖无参数的构造函数,这样系统就无法调用无参数的构造函数实例化类,所以会出现这种错误。

java.lang.InstantiationException-反射机制的更多相关文章

  1. 浅说Java中的反射机制(二)

    写过一篇Java中的反射机制,不算是写,应该是抄了,因为那是别人写的,这一篇也是别人写的,摘抄如下: 引自于Java基础--反射机制的知识点梳理,作者醉眼识朦胧.(()为我手记) 什么是反射? 正常编 ...

  2. 深入理解Java中的反射机制

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...

  3. Java中的反射机制和动态代理

    一.反射概述 反射机制指的是Java在运行时候有一种自观的能力,能够了解自身的情况为下一步做准备,其想表达的意思就是:在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法:对于任意一个对象 ...

  4. java进阶(41)--反射机制

    文档目录: 一.反射机制的作用 二.反射机制相关类 三.获取class的三种方式 四.通过反射实例化对象 五.通过读属性文件实例化对象 六.通过反射机制访问对象属性 七.通过反射机制调用方法 ---- ...

  5. java中的反射机制在Android开发中的用处

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...

  6. 黑马程序员——【Java高新技术】——反射机制

    ---------- android培训.java培训.期待与您交流! ---------- 一.概述 1.Java反射机制:是指“在运行状态中”,对于任意一个类,都能够知道这个类中的所有属性和方法: ...

  7. JAVA类型信息——反射机制

    JAVA类型信息——反射机制 一.反射机制概述 1.反射机制:就是java语言在运行时拥有的一项自我观察的能力,java通过这种能力彻底了解程序自身的情况,并为下一步的动作做准备. 2.反射机制的功能 ...

  8. 浅说Java中的反射机制(一)

    在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...

  9. java学习之反射机制

    java语言区别于C,C++等准静态语言的最大特点就是java的反射机制.静态语言的最直接定义就是不能在运行时改变程序结构或变量的类型.按照这样的定义,python,ruby是动态语言,C,C++,J ...

随机推荐

  1. cocos2dx 3.x (单选,多选,复选checkBox按钮的实现) RadioButton

    // //  LandLordsMakeNewRoom.hpp //  MalaGame39 // //  Created by work on 2016/12/19. // //   #ifndef ...

  2. J2EE环境配置与工具使用

    一.Java SDK安装 J2SE最新版安装地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,包括JDK和JR ...

  3. python os 命令,及判断文件夹是否存在

    使用前 import os导入模块   os模块: os.sep     可以取代操作系统特定的路径分割符 os.linesep  字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n ...

  4. iOS设置cell选中时文字颜色的变化

    cell.titleStr.highlightedTextColor = EMCGreenColor;

  5. oracle同一个数据库实例不同的用户之间的表、序列授权操作

    1.背景:用户jtuser中有jtproduct中表A,B的同义词,在用户jtuser中向表A,B插入数据,提示“权限不够” 2.将A,B表授权给jtuser用户 $ sqlplus / as sys ...

  6. SourceInsight阅读Python---张子芳

    首先从http://www.sourceinsight.com/public/languages/下载Python的配置文件Python.CLF ,然后对SourceInsight作如下配置: (1) ...

  7. IT girl

    听着柔和的音乐,敲着自己喜欢的代码......

  8. CopyFile类通过调用这个类的delete(String filePath)方法可以组合成一个Cut类

    package folderoperation; import java.io.File;/** * 注意它会删除文件,文件夹以及文件夹下的所有内容(根据指定的地址) * @author Dawn * ...

  9. 【转】安装mysql 出现:Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

    来源:http://blog.csdn.net/dapeng0112/article/details/37053407 本来初始化配置是这样的: scripts/mysql_install_db -- ...

  10. hibernate配置文件详细解析

    在javaweb开发中,hibernate框架的是常用的,能帮我们节省大量的时间,以下是hibernate的配置文件解析. hibernate配置文件的默认名为:hibernate.cfg.xml 默 ...