MethodHandles can break encapsulation by accessing private methods and fields if a Lookup object with sufficient privileges is used. This is similar to setting fields accessible via reflection but is more efficient. For example, a Lookup object created in the context of a class can access its private methods, allowing for dynamic testing or framework support.