2009-08-30 4 views

답변

8

null

,이 경우 그것은 아무것도 선언 아니에요.

2

String 유형의 변수는 참조 변수입니다. 인스턴스 변수로는 null으로 초기화됩니다. 다른 사례에 대한 설명은 the specification을 참조하십시오.

1

변수, 그것은 null 초기화된다 클래스 변수, 인스턴스 변수 또는 배열 요소

(참조 형식의 기본값 null을하기 때문에) 변수가있는 경우이면

3

널 지역 변수가 있으면 명시 적으로 값을 지정해야합니다 (즉,이 경우 기본값이 없습니다).

5

다음은 Martin v. Löwissilky 님이 올린 답변 요약입니다. String 로컬 변수가

  • 경우, 초기화되지 않습니다 :

    우리는 A String 객체의 초기화에 대해 다음과 같이 말할 수있다.

  • String이 클래스 변수, 인스턴스 변수 또는 배열 구성 요소 인 경우 null으로 초기화됩니다.

추론은 다음과 같다 :

모든 변수 : String의 종류와 변수

가 참조 형식이다 The Java Language Specification, Third Edition에 따른 Section 4.12.5: Initial Values of Variables는 다음 말한다 값을 사용하기 전에 프로그램에서 값을 가져야합니다.

이것은 기준 유형의 초기화에 대한 다음 대답 간다 :

  • 각 클래스 변수, 인스턴스 변수 또는 배열 요소가 생성된다 기본값 (§15.9으로 초기화 이며 §15.10)
    • [관련성 정보에 삭제 정보] 모든 참조 형식 (§4.3) 용
    • 는 기본값이다,739,.

와 로컬 변수에 대한 마지막 후속 : 그것은 사용 전에

  • 로컬 변수 (§14.4, §14.14)는 명시하는 값을 제공해야 , 컴파일러가 명확한에 대한 규칙을 사용하여 확인할 수있는 방법으로 초기화 (§14.4) 또는 할당 (§15.26)과제 (§16).
2

그것이 기술적으로 초기화되는 경우, 지역이지만, 사실 그 이유를 사용할 수 없습니다, 그래서 언어가 여전히 입력 - 안전하지 않는 한 그것은 null을합니다. 쓰레기 포인터를 역 참조 할 수 없습니다.

0

String str=null은 str이 아무 것도 가리 키지 않는 String 클래스의 객체라는 것을 의미하지만 ... abt 메모리 할당을 말할 때 메모리는 str에 존재하는 즉시 str에 할당됩니다. netbeans에서 프로파일 링 옵션을 사용하여 메모리 양을 확인할 수 있습니다.

0

문자열 값은 기본적으로 NULL이어야하며 초기화 할 필요가 없습니다. 문자열 클래스 객체는 클래스 레벨 속성으로 정의 된 경우에만 기본적으로 NULL입니다. 그렇지 않으면 문자열 객체에 명시 적으로 초기화해야하는 기본값이 없습니다.

0

String 유형의 변수가 메소드 내에 있으면 자동으로 초기화되지 않습니다. 그렇지 않은 경우는 null로서 값으로 초기화됩니다.

1
  1. 클래스 내에서 선언 된 변수는 자동으로 초기화됩니다.
  2. 메서드 내에서 선언 된 변수는 초기화해야합니다. 그렇지 않으면 오류가 발생합니다.
  3. 문자열은 0, null로의 int를 초기화 등등 ..

확인 자세한 내용은이 page ...

된다