Java 멤버 변수 및 로컬 변수
기사 디렉토리
1 유사점
1.1 변수 정의 형식은 동일합니다.
变量类型 变量名 = 变量值
1.2는 사용 전 선언
1.3 변수에는 범위가 있습니다 (범위는 중괄호 쌍임)
2 차이점
2.1 클래스 선언에서의 위치
속성 : {}에 직접 정의 됨
지역 변수 : 메서드, 메서드 매개 변수, 코드 블록, 생성자 매개 변수, 생성자에서 선언
class Person{
/*
这两个是成员变量
*/
String name;
int age;
public void eat(String name //局部变量){
int number; //局部变量
}
}
2.2 역량 수정 자
속성 : 선언 할 때 권한을 지정하고 권한 수정자를 사용할 수 있습니다 (퍼블릭 프라이빗 및 기본 보호 포함).
로컬 변수 : 권한 수정자를 사용할 수 없습니다 (두 가지 이해가있을 수 있습니다. 하나는 쓸 수 없다는 것이고 다른 하나는 로컬 변수와 메서드 권한 수정자가 동일하다는 것입니다)
class Person{
/*
成员变量定义时可以指明权限修饰符
*/
private String name;
public int age;
public void eat(){
//private int age; 局部变量定义时不能指明权限修饰符
}
}
2.3 기본 초기화 정보
속성 : 클래스의 속성은 유형에 따라 기본 초기화 값이 있습니다.
정수형은 0, 부동 형은 0.0, char은 0, boolean은 false, 참조 데이터 유형은 null입니다.
로컬 변수 : 기본 초기화 값 없음 의미 : 로컬 변수 할당을 호출하기 전에 특별 표시해야 함 : 전화를 걸 때 매개 변수 할당
2.4는 메모리 위치에로드됩니다.
속성 : 힙 공간에로드 됨 (비 정적)
지역 변수 : 스택 공간에로드