# Class MethodHandles.Lookup

java.lang.Object
java.lang.invoke.MethodHandles.Lookup

Enclosing class:
  `MethodHandles`

public static class MethodHandles.Lookup extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `PACKAGE`
  `static final int`
  `PRIVATE`
  `static final int`
  `PROTECTED`
  `static final int`
  `PUBLIC`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Lookup()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `MethodHandle`
  `bind(Object a, String b, MethodType c)`
  `MethodHandle`
  `findConstructor(Class<?> a, MethodType b)`
  `MethodHandle`
  `findGetter(Class<?> a, String b, Class<?> c)`
  `MethodHandle`
  `findSetter(Class<?> a, String b, Class<?> c)`
  `MethodHandle`
  `findSpecial(Class<?> a, String b, MethodType c, Class<?> d)`
  `MethodHandle`
  `findStatic(Class<?> a, String b, MethodType c)`
  `MethodHandle`
  `findStaticGetter(Class<?> a, String b, Class<?> c)`
  `MethodHandle`
  `findStaticSetter(Class<?> a, String b, Class<?> c)`
  `MethodHandle`
  `findVirtual(Class<?> a, String b, MethodType c)`
  `MethodHandles.Lookup`
  `in(Class<?> a)`
  `Class<?>`
  `lookupClass()`
  `int`
  `lookupModes()`
  `java.lang.invoke.MethodHandleInfo`
  `revealDirect(MethodHandle a)`
  `MethodHandle`
  `unreflect(Object a)`
  `MethodHandle`
  `unreflectConstructor(Object a)`
  `MethodHandle`
  `unreflectGetter(Object a)`
  `MethodHandle`
  `unreflectSetter(Object a)`
  `MethodHandle`
  `unreflectSpecial(Object a, Class<?> b)`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Field Details

  - ### PUBLIC

    public static final int PUBLIC
    See Also:
      - Constant Field Values

  - ### PRIVATE

    public static final int PRIVATE
    See Also:
      - Constant Field Values

  - ### PROTECTED

    public static final int PROTECTED
    See Also:
      - Constant Field Values

  - ### PACKAGE

    public static final int PACKAGE
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Lookup

    public Lookup()

- ## Method Details

  - ### lookupClass

    public Class<?> lookupClass()

  - ### lookupModes

    public int lookupModes()

  - ### in

    public MethodHandles.Lookup in(Class<?> a)

  - ### findStatic

    public MethodHandle findStatic(Class<?> a, String b, MethodType c) throws java.lang.NoSuchMethodException, IllegalAccessException
    Throws:
      `java.lang.NoSuchMethodException`
      `IllegalAccessException`

  - ### findVirtual

    public MethodHandle findVirtual(Class<?> a, String b, MethodType c) throws java.lang.NoSuchMethodException, IllegalAccessException
    Throws:
      `java.lang.NoSuchMethodException`
      `IllegalAccessException`

  - ### findConstructor

    public MethodHandle findConstructor(Class<?> a, MethodType b) throws java.lang.NoSuchMethodException, IllegalAccessException
    Throws:
      `java.lang.NoSuchMethodException`
      `IllegalAccessException`

  - ### findSpecial

    public MethodHandle findSpecial(Class<?> a, String b, MethodType c, Class<?> d) throws java.lang.NoSuchMethodException, IllegalAccessException
    Throws:
      `java.lang.NoSuchMethodException`
      `IllegalAccessException`

  - ### findGetter

    public MethodHandle findGetter(Class<?> a, String b, Class<?> c) throws java.lang.NoSuchFieldException, IllegalAccessException
    Throws:
      `java.lang.NoSuchFieldException`
      `IllegalAccessException`

  - ### findSetter

    public MethodHandle findSetter(Class<?> a, String b, Class<?> c) throws java.lang.NoSuchFieldException, IllegalAccessException
    Throws:
      `java.lang.NoSuchFieldException`
      `IllegalAccessException`

  - ### findStaticGetter

    public MethodHandle findStaticGetter(Class<?> a, String b, Class<?> c) throws java.lang.NoSuchFieldException, IllegalAccessException
    Throws:
      `java.lang.NoSuchFieldException`
      `IllegalAccessException`

  - ### findStaticSetter

    public MethodHandle findStaticSetter(Class<?> a, String b, Class<?> c) throws java.lang.NoSuchFieldException, IllegalAccessException
    Throws:
      `java.lang.NoSuchFieldException`
      `IllegalAccessException`

  - ### bind

    public MethodHandle bind(Object a, String b, MethodType c) throws java.lang.NoSuchMethodException, IllegalAccessException
    Throws:
      `java.lang.NoSuchMethodException`
      `IllegalAccessException`

  - ### unreflect

    public MethodHandle unreflect(Object a) throws IllegalAccessException
    Throws:
      `IllegalAccessException`

  - ### unreflectSpecial

    public MethodHandle unreflectSpecial(Object a, Class<?> b) throws IllegalAccessException
    Throws:
      `IllegalAccessException`

  - ### unreflectConstructor

    public MethodHandle unreflectConstructor(Object a) throws IllegalAccessException
    Throws:
      `IllegalAccessException`

  - ### unreflectGetter

    public MethodHandle unreflectGetter(Object a) throws IllegalAccessException
    Throws:
      `IllegalAccessException`

  - ### unreflectSetter

    public MethodHandle unreflectSetter(Object a) throws IllegalAccessException
    Throws:
      `IllegalAccessException`

  - ### revealDirect

    public java.lang.invoke.MethodHandleInfo revealDirect(MethodHandle a)