>  기사  >  Java  >  JAVA 메소드에서 매개변수를 수정하기 위해 final을 사용하는 방법을 이해하는 방법

JAVA 메소드에서 매개변수를 수정하기 위해 final을 사용하는 방법을 이해하는 방법

坏嘻嘻
坏嘻嘻원래의
2018-09-15 15:09:591804검색

이 기사의 내용은 JAVA 메소드의 매개변수를 이해하고 이를 수정하는 방법에 대한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

JAVA 메소드의 매개변수를 final로 수정하는 이유

JAVA에서 메소드 매개변수를 수정하기 위해 final을 사용하는 이유는 메소드 매개변수가 변경되는 것을 방지하기 위함이라고 많은 분들이 말씀하십니다. 실제로는 Tampering이 원인이지만, 구문이 호출된 변수의 실제 값은 호출 내에서만 수정이 불가능하다고 생각하는 분들도 계십니다. 방법.

사실 첫 번째 이해가 잘못된 경우에는 다음 코드와 같이 호출 위치에서 final로 수정하든 안 하든 동일한 효과가 있습니다.

# 🎜🎜#
publi cstatic void main(String hh[])
      {
            int i = 1;
            System.out.println(i);
            checkInt(i);
            System.out.println(i);
      }
      public static void checkInt(final int i)
      {
            //do something
      }
#🎜🎜 #당신 put checkInt() 메소드의 매개변수를 final 및 non-final로 설정하는 효과는 호출되는 위치에서 동일합니다.


단, 참조 유형의 경우에도 동일합니다. 수정 여부에 관계없이 참조 주소는 변경되지 않지만 참조 변수의 속성 값은 변경될 수 있습니다. 다음과 같습니다:

  publicstaticvoid main(String hh[])
      {
            LoginInfo login = new LoginInfo();
            login.setPassword("1235");
            login.setUserName("mygod");
            System.out.println("username:"+login.getUserName()+",password:"+login.getPassword());
            checkLoginInfo(login);
            System.out.println("username:"+login.getUserName()+",password:"+login.getPassword());
      }
     
      publicstaticvoid checkLoginInfo(final LoginInfo login)
      {
            login.setUserName("yun");
      }
두 번째 문장은 이렇게 생겼습니다. 이 매개변수의 값만 사용할 수 있습니다. 기본 유형과 참조 유형에 대해서는 동일합니다. .다음과 같습니다.


#🎜 🎜 #

위 내용은 JAVA 메소드에서 매개변수를 수정하기 위해 final을 사용하는 방법을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.