2011-12-29 5 views
-2

함수를 호출하는 매개 변수를 닫을 수 있는지 또는 일부 언어에서 이와 같이 작동하는 경우 다른 이름으로 알고 싶습니다. 고맙습니다.함수를 호출하는 매개 변수를 닫을 수 있습니까?

interface SomeInterface{ 
    public void SomeMethod(); 
} 

class A{ 
    public static SomeInterface f(final int somearg){ 
     return new SomeInterface(){ 
      public void SomeMethod(){ 
       System.out.println(somearg); 
      } 
     }; 
    } 
} 

public class Test { 

    public static void main(String[] args) { 
     A.f(2).SomeMethod(); 
    } 

} 

A.f(2).SomeMethod(); 인쇄 2. 공지 사항 최종 키워드 : 람다 함수에 대한

+1

를 인쇄 -1 와우 :

루아는 비슷한 작업을 수행 할 수 있습니다! 당신의 명성을 가진 누군가로부터의 얼마나 놀랍게도 가난한 질문 ... 나는 당신이 [좋은 질문을하는] 방법을 배웠을 것이라고 생각했을 것이다. (http://stackoverflow.com/help/how-to-ask) . – Sheridan

답변

1

자바의 방법은 익명의 내부/중첩 된 클래스입니다.

upper=function(arg) 
      print(arg+2) 
      local inner=function() 
       print(arg) 
      end 
      inner() 
     end 
upper(1) 

3 
1 
관련 문제