4.4.3 정적 방법

정적 방법은 대상에게 조작을 실시할 수 없는 방법이다.예를 들어, Math 클래스의 pow 방법은 정적 방법입니다.표현식

  
  
  
  
  1. Math.pow(x, a); 

멱을 계산하다.연산할 때 Math 객체를 사용하지 않습니다.다시 말하면 은밀한 파라미터가 없다.
정적 방법은this파라미터가 없는 방법이라고 볼 수 있다. (비정상적인 방법에서this파라미터는 이 방법의 은식 파라미터를 나타낸다.)
정적 방법은 대상을 조작할 수 없기 때문에 정적 방법에서 실례역에 접근할 수 없습니다.그러나 정적 방법은 자신의 클래스에 있는 정적 영역에 접근할 수 있다.다음은 이 정적 방법을 사용하는 예입니다.

  
  
  
  
  1. public static int getNextId() 
  2.     return nextId;    // return static field 

클래스 이름으로 이 메서드를 호출할 수 있습니다.

  
  
  
  
  1. int n = Employee.getNextId(); 

이 방법은 키워드static을 생략할 수 있습니까?답은 긍정적이다.그러나 이 방법은 Employee 클래스 객체의 참조를 통해 호출되어야 합니다.
주석: 대상을 사용하여 정적 방법을 호출할 수 있습니다.예를 들어 Harry가 Employee 대상이라면 Harry를 사용할 수 있습니다.Employee 대신 getNextId ().getNextId().그러나 이런 방식은 헷갈리기 쉽다. getNextId 방법의 계산 결과가 해리와 아무런 관계가 없기 때문이다.우리는 대상이 아닌 클래스 이름을 사용해서 정적 방법을 사용하는 것을 권장합니다.
다음과 같은 두 가지 상황에서 정적 방법을 사용합니다.
4
  • 하나의 방법은 대상 상태에 접근할 필요가 없고 필요한 매개 변수는 모두 현식 매개 변수를 통해 제공된다(예를 들어 Math.pow)

  • 4
  • 하나의 방법은 클래스의 정적 영역(예: Employee.getNetId)에 접근하기만 하면 됩니다

  • C++ 주석: 자바의 정적 필드 정적 방법은 기능상 C++와 같습니다.그러나 문법 쓰기는 조금 다르다.C++에서::조작부호를 사용하여 자신의 역할 영역 이외의 정적 필드와 정적 방법에 접근합니다. 예를 들어 Math::PI.용어'static'에는 심상치 않은 역사가 있다.처음에 C 인용 키 static은 블록을 종료한 후에도 여전히 존재하는 국부 변수를 표시하기 위해서였다.이런 상황에서'static'이라는 용어는 의미가 있다. 변수는 계속 존재하고 이 블록에 다시 들어갈 때 여전히 존재한다.그 다음에 static은 C에서 두 번째 의미를 가지는데 다른 파일에 접근할 수 없는 전역 변수와 함수를 나타낸다.새로운 키워드를 도입하는 것을 피하기 위해서 키워드static가 다시 사용되었습니다.마지막으로 C++는 세 번째로 이 키워드를 다시 사용했는데 앞에서 부여한 의미와 완전히 다르다. 여기서 이를 클래스에 속하고 클래스 대상에 속하지 않는 변수와 함수로 해석한다.이 의미는 자바와 같다.

    좋은 웹페이지 즐겨찾기