분석 [예약] 멤버 변수 자바, 로컬 변수, 정적 변수

멤버 변수, 로컬 변수, 정적 변수 자바 분석

자바 변수는 대략적으로 나누어 멤버 변수로컬 변수를 두 종류로.

멤버 변수 : 몸이라는 클래스 멤버 변수 내에서 정의 된 변수;

  멤버 변수 정적이라는 키워드는 멤버 변수 수정 경우 정적 변수 나 클래스 변수;

  멤버 변수 static 키워드가 수정되지 않는 경우, 멤버 변수는 비 정적 변수 나 인스턴스 변수라고한다.

로컬 변수 : 매개 변수의 정의 방법이, 가변 코드 블록에 정의 된 로컬 변수 속한다.

다음 표는 세 ​​사이의 차이 :

 

세 사이의 기본적인 차이는 : 다른 저장 위치는 상이한 특성을 결정한다.

여기에 주로 소개 정적 변수의 장단점 :

특징 :

  1, 객체는 당신이 공유 데이터 객체의 공통성을 달성하고자합니다. 이는 정적 데이터는 변경 될 수있다.

  2, 그것은 바로 클래스 이름으로 호출, 정적 멤버를 수 수정되었습니다. 즉, 다 자 통화의 정적 멤버. 클래스 이름. 정적.

  정적 하중과 클래스의 부하와 함께 3. 그리고 객체의 우선 순위가있다.

단점 :

  도 1은, 일부 데이터는 정적 수정 될 수없는 오브젝트 특정 데이터이다. 때문에이 경우, 특정 데이터는 공유 데이터 객체가 될 것이다. 질문 중 사물의 이러한 설명입니다. 정적 정의 할 때 따라서,이 데이터가 공유 객체 여부를 명확해야합니다.

  이 정적 메소드는 정적 부재에 액세스 할 수 있으며 비 정적 멤버를 액세스 할 수있다. 정적 방법은로드 때문에 개체가 존재하는 이상 그것은 우선합니다, 그래서 객체의 멤버에 액세스 할 수있는 방법은 없습니다.

  3, 정적 방법이, 슈퍼 키워드를 사용할 수 없습니다. 이것은 객체 때 정전기를 나타내고 있기 때문에, 어떤 오브젝트가 없을 수 있으므로이 사용될 수 없다.

때 정적 변수를 사용하는 방법?

  프로그램 실행, 메모리 공간 오버 헤드, 공유 자원을 절약하기 위해, 우리는 클래스 변수 정적 변수로 선언 할 수 있습니다, 어떤 시점에서, 그래서 클래스의 모든 인스턴스에 의해 공유되는 클래스 정적 변수 메모리 공간 중. 그러나, 정적 변수 라이프 사이클이 너무 긴, 쉽게 모든 불합리를 사용하는 경우, 그것은 메모리 폐기물의 대량 발생, 역효과가 될 것입니다, 복구 시스템이 될 수 없기 때문에. 따라서, 다음의 조건을 만족하는 모든 경우에 정적 변수를 사용하는 것이 좋습니다 :

볼륨 개체 (1) 변수 큰 차지하는 메모리를 포함

(2) 변수는 긴 대상 기간을 포함

오브젝트 데이터 (3) 안정화 변수를 포함

이러한 요건 (4) 실시 예는 객체를 포함하는 변수를 공유

요약 :

  기본적으로 세 가지 변수가 있지만, 그러나 사용 Shique 함정에 빠지지 아마 너무 쉽게 큰 차이가있다. 기억하기 : 변수 속성이 클래스를 설명하는 데 사용 할 수있는 경우 클래스에서, 그것은 그렇지 않으면이 지역 변수로 정의되어야한다, 멤버 변수로 정의됩니다. 변수가 (콘텐츠 모든 객체가 공유되고있는) 큰 그림에서 사용할 수있는 경우에, 우리는 정적 변수, 즉 정적 변수를 수정하려면이를 넣을 수 있습니다.

 

원본 주소 : https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc

추천

출처www.cnblogs.com/here-I-am/p/11585531.html