# Class MethodHandles.Lookup

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

Enclosing class:
  `MethodHandles`

public static class MethodHandles.Lookup extends java.lang.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(java.lang.Object a, String b, java.lang.invoke.MethodType c)`
  `MethodHandle`
  `findConstructor(java.lang.Class<?> a, java.lang.invoke.MethodType b)`
  `MethodHandle`
  `findGetter(java.lang.Class<?> a, String b, java.lang.Class<?> c)`
  `MethodHandle`
  `findSetter(java.lang.Class<?> a, String b, java.lang.Class<?> c)`
  `MethodHandle`
  `findSpecial(java.lang.Class<?> a, String b, java.lang.invoke.MethodType c, java.lang.Class<?> d)`
  `MethodHandle`
  `findStatic(java.lang.Class<?> a, String b, java.lang.invoke.MethodType c)`
  `MethodHandle`
  `findStaticGetter(java.lang.Class<?> a, String b, java.lang.Class<?> c)`
  `MethodHandle`
  `findStaticSetter(java.lang.Class<?> a, String b, java.lang.Class<?> c)`
  `MethodHandle`
  `findVirtual(java.lang.Class<?> a, String b, java.lang.invoke.MethodType c)`
  `MethodHandles.Lookup`
  `in(java.lang.Class<?> a)`
  `java.lang.Class<?>`
  `lookupClass()`
  `int`
  `lookupModes()`
  `java.lang.invoke.MethodHandleInfo`
  `revealDirect(MethodHandle a)`
  `MethodHandle`
  `unreflect(java.lang.Object a)`
  `MethodHandle`
  `unreflectConstructor(java.lang.Object a)`
  `MethodHandle`
  `unreflectGetter(java.lang.Object a)`
  `MethodHandle`
  `unreflectSetter(java.lang.Object a)`
  `MethodHandle`
  `unreflectSpecial(java.lang.Object a, java.lang.Class<?> b)`

  ### Methods inherited from class java.lang.Object

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

- ## 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 java.lang.Class<?> lookupClass()

  - ### lookupModes

    public int lookupModes()

  - ### in

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

  - ### findStatic

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

  - ### findVirtual

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

  - ### findConstructor

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

  - ### findSpecial

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

  - ### findGetter

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

  - ### findSetter

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

  - ### findStaticGetter

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

  - ### findStaticSetter

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

  - ### bind

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

  - ### unreflect

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

  - ### unreflectSpecial

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

  - ### unreflectConstructor

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

  - ### unreflectGetter

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

  - ### unreflectSetter

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

  - ### revealDirect

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