# Class ConstructorAccess<T>

java.lang.Object
com.esotericsoftware.reflectasm.ConstructorAccess<T>

Direct Known Subclasses:
  `PublicConstructorAccess`

public abstract class ConstructorAccess<T> extends Object

## Constructor Summary

Constructors
Constructor
Description
`ConstructorAccess()`

## Method Summary

Modifier and Type
Method
Description
`static <T> ConstructorAccess<T>`
`get(Class<T> type)`
`boolean`
`isNonStaticMemberClass()`
`abstract T`
`newInstance()`
Constructor for top-level classes and static nested classes.
`abstract T`
`newInstance(Object enclosingInstance)`
Constructor for inner classes (non-static nested classes).

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ConstructorAccess

public ConstructorAccess()

## Method Details

### isNonStaticMemberClass

public boolean isNonStaticMemberClass()

### newInstance

public abstract T newInstance()
Constructor for top-level classes and static nested classes.

If the underlying class is a inner (non-static nested) class, a new instance will be created using `null` as the this$0 synthetic reference. The instantiated object will work as long as it actually don't use any member variable or method fron the enclosing instance.

### newInstance

public abstract T newInstance(Object enclosingInstance)
Constructor for inner classes (non-static nested classes).

Parameters:
  `enclosingInstance` - The instance of the enclosing type to which this inner instance is related to (assigned to its synthetic this$0 field).

### get

public static <T> ConstructorAccess<T> get(Class<T> type)