1. 폐쇄의 정의.
폐쇄를 정의한 많은 사람들이 있으며 여기에 일부가 있습니다.
#는 무료 변수를 참조하는 함수입니다. 이 함수는 일반적으로 다른 외부 함수로 정의되며 외부 함수의 변수를 나타냅니다. - << wikipedia >>
#는 생성 된 범위에서 일부 정보를 녹음하는 호출 가능한 객체입니다. - << Java 프로그래밍 생각 >>
#는 매개 변수를 수락하고 반환 값을 반환하거나 주변의 가시 도메인에 정의 된 변수를 참조하고 사용하는 익명 코드 블록입니다. -Groovy [ 'ru : vi]
#는 자유 변수의 맥락과 이러한 변수의 결합을 갖는 표현식입니다.
# Closure를 사용하면 일부 동작을 캡슐화하고 객체처럼 전달할 수 있으며 원래 첫 번째 선언의 컨텍스트에 여전히 액세스 할 수 있습니다.
#는 여러 변수와 이러한 변수에 제한된 환경을 갖는 표현식 (일반적으로 함수)을 나타냅니다. 따라서 이러한 변수도 표현식의 일부입니다.
# 클로저는 자유 (언 바운드) 변수를 포함 할 수있는 코드 블록입니다. 이러한 변수는이 코드 블록 또는 전역 컨텍스트에서 정의되지 않고 코드 블록이 정의되는 환경에서 정의됩니다.
2. 간단한 폐쇄 예 :
패키지 테스트 {private int data = 0; private class 내부 {void print () {system.out.println (test. test (); t1.data = 1; test t2 = new test (); t2.data = 2; 내부 내부 1 = t1.getInnerInstance (); 내부 내부 2 = t2.getInnerInstance (); inner1.print (); // 1inner2.print (); // 2}}요약
위의 모든 것은 Java의 단순한 코드 예제에 관한 것입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!