java 변수의 차이점 분석
실례 변수도 대상 변수, 즉static를 넣지 않은 변수라고 한다.
두 가지 차이점은 다음과 같습니다.
클래스 변수(정적 변수)는 모든 대상이 공유하고 그 중의 한 대상이 그 값을 바꾸면 다른 대상은 바뀐 결과를 얻을 수 있으며 클래스 변수는 클래스 이름을 통해 직접 호출할 수 있다. 예를 들어 A.xingS;
반면에 실례 변수는 대상이 사유하고 특정한 대상이 그 값을 바꾸어 다른 대상에게 영향을 주지 않는다. 실례 변수는 말 그대로 실례에 속하기 때문에 실례를 통해 다음과 같이 호출할 수 있다. 예를 들어 A a=new A().a.name;
부적절한 예를 들자. 유형 변수는 한 사람의 성씨와 같다. 실례 변수는 사람의 이름과 맞먹는다. 만약에 아버지가 성을 바꾸면 그의 모든 형제자매의 성은 모두 고쳐야 하지만 그들의 이름은 각자 사용한다.
예:
public class A{
static int xingS = 0; //
private int name = 0; //
String id; //
private String colorType; //
private int size; //
private static String depart; // f
inal String name="zwm"; //
}
public class B{
public void main (String[] args){
A son1= new A();
A son2= new A();
son1.xingS = 3; //
A.xingS = 3;
son1.name = 4 ;
System.out.println(son2.xingS); // 3
// , son1 xingS,son2 a
System.out.println(son2.name); // 0
// , son1 name , son2 name
}
}
클래스 변수는 정적 구성원 변수라고도 부른다. 대상을 만들지 않아도 메모리에 존재할 수 있고 실례 대상을 만들 때
메모리에는 모든 실례 대상의 모든 비정상적 구성원 변수에 대해 메모리 공간을 열어 이 대상의 모든 비정상적 구성원 변수 값을 저장합니다.
두 개의 서로 다른 실례 대상이 같은class류에 속하더라도 같은 이름의 비정상적인 구성원 변수가 메모리에서 차지하는 공간은 다르다.
정적 구성원 변수는 클래스 변수와 같다.모든 실례 대상은 하나의 클래스 변수를 공용하는데, 메모리에는 이 클래스 변수 값을 넣을 수 있는 공간이 한 군데만 있다.
따라서 만약에 한 대상이 클래스 변수 값을 바꾸면 다른 대상이 클래스 변수 값을 다시 취하는 것은 바뀐 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.