新建对象:反射会调用构造函数,clone不会调用构造函数

原创 2012年03月21日 11:12:25

class Ins implements java.lang.Cloneable { 

    public Ins() {
        System.out.println("Construct called");

    }  

    @Override
    public Ins clone() throws CloneNotSupportedException {
        return (Ins) super.clone();
    }

}


public class ConstructTest {

 @Test
    public void test() throws InstantiationException, IllegalAccessException, CloneNotSupportedException {
        System.out.println("\n---new Ins() begin---");
        Ins ins1 = new Ins(); 
        System.out.println("---new Ins() end---");
        System.out.println("\n---Ins.class.newInstance() begin---");
        Ins ins2 = Ins.class.newInstance(); 
        System.out.println("---Ins.class.newInstance() end---");
        System.out.println("\n---ins1.clone() begin---");
        Ins ins3 = ins1.clone(); 
        System.out.println("---ins1.clone() end---");
    }

}


输出:

---new Ins() begin---
Construct called
---new Ins() end---

---Ins.class.newInstance() begin---
Construct called
---Ins.class.newInstance() end---

---ins1.clone() begin---
---ins1.clone() end---

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Java之反射类的构造函数,通过单元测试反射创建类的对象

需要测试的Person类的源代码如下: package cn.itcast.reflect; import java.util.List; public class Person { publ...

java反射获取构造器以及调用构造器创建对象

Java反射获取构造器   获取某一个类中的所有构造器: 1. 明确操作的是哪一个类(严格的说是类编译后的字节码) 2. 获取构造器 Constructor类:表示类中构造器的类型,Construct...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

生成对象-new、clone、序列化、反射

在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请登陆疯狂java培训官网。   生成对象的四种方式   (1...

利用反射进行深层克隆

我们大家都知道,对一个对应进行复制有二种比较好的方式,一种就是序列化,另一种就是克隆。使用序列化进行复制很方便,因为此种方式会自动进行深层复制,只需要我们将要序列化的对象所对应的类实现序列化标示性接口...

构造函数调用构造函数

#include #include using namespace std; struct CLS {     int m_i;     CLS( int i ) : m_i(...

【构造函数】----构造函数调用构造函数,使用this

java-----构造函数调用构造函数,使用this 代码:   class Person {    private String name;    private int age;      Pe...

构造函数与析构函数中不调用虚函数

在C++中,提倡不能在构造函数和析构函数中调用虚函数。 这是为什么呢?首先,我们先回顾一下C++虚函数的作用。 虚函数的引入是c++运行时多态的体现,通过调用虚函数可以在运行程序时实现动态绑定,体现...

反射:使用反射调用构造器创建对象

1.构造器最大的作用:创建对象 为什么使用反射创建对象,为什么不直接来new呢? 在框架中,提供给我们的都是字符串. --------------------------------------...

构造函数中调用虚函数

转载地址:http://www.cnblogs.com/carter2000/archive/2012/04/28/2474960.html   #include class Base ...

构造函数中调用虚函数

转自: http://www.cnblogs.com/chio/archive/2007/09/09/887598.html C++03标准:http://ishare.iask.sina.com....
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)