zoukankan      html  css  js  c++  java
  • objenesis

    1.objenesis

    About

    Objenesis is a small Java library that serves one purpose:

    • To instantiate a new object of a particular class.

    When would you want this?

    Java already supports this dynamic instantiation of classes using Class.newInstance(). However, this only works if the class has an appropriate constructor. There are many times when a class cannot be instantiated this way, such as when the class contains:

    • Constructors that require arguments.
    • Constructors that have side effects.
    • Constructors that throw exceptions.

    As a result, it is common to see restrictions in libraries stating that classes must require a default constructor. Objenesis aims to overcome these restrictions by bypassing the constructor on object instantiation.

    Typical uses

    Needing to instantiate an object without calling the constructor is a fairly specialized task, however there are certain cases when this is useful:

    • Serialization, Remoting and Persistence - Objects need to be instantiated and restored to a specific state, without invoking code.
    • Proxies, AOP Libraries and Mock Objects - Classes can be subclassed without needing to worry about the super() constructor.
    • Container Frameworks - Objects can be dynamically instantatiated in non-standard ways.
  • 相关阅读:
    12-2 mysql 查询
    12-1 mysql的增删改减
    12-1 上午mysql 基本语句
    [题解] [FJOI2016] 建筑师
    [题解] [CF932E] TeamWork
    [题解] [Codechef] CNTDSETS
    [题解] [清华集训 2017] 榕树之心
    [题解] [AGC013D] Piling Up
    [题解] [CQOI2011] 放棋子
    [题解] [ZJOI2017] 仙人掌
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/7531517.html
Copyright © 2011-2022 走看看