제4혹: 속성이 동적 귀속됩니까?

1137 단어 가상 시스템
모두가 알다시피 방법은 동태적으로 귀속될 수 있다. 하위 클래스가 상위 클래스로 전환될 때 가상 기기는 실행 대상의 진정한 유형을 찾을 수 있고 대상의 진정한 유형에 따라 하위 클래스를 호출하는 방법인지 하위 클래스를 호출하는 방법인지 판단할 수 있다. 이것도 다태라고 부른다.
그럼 변수는요?어디 보자.
  
package cantellow.text12;

class Parent
{
	public int i = 10;
	static int si = 10;
	final int fi = 10;
	static final int sfi = 10;
}

public class Son extends Parent
{
	public int i = 30;
	static int si = 30;
	final int fi = 30;
	static final int sfi = 30;
	public static void main(String[] args)
	{
		Parent parent = new Son();
		Son son = new Son();
		System.out.println(parent.i + son.i);
		System.out.println(parent.si+son.si);
		System.out.println(parent.fi + son.fi);
		System.out.println(parent.sfi + son.sfi);
	}
}

 
출력 결과:
40
40
40
40
문제: 왜 변수는 대상의 진정한 유형에 따라 상응하는 변수를 선택하지 않습니까?
===================================================================
참고 사항:
 
실행할 때 (동적) 귀속이 겨냥한 범주는 대상의 방법일 뿐이고 변수는 동적으로 귀속되지 않으며 정적 변수와 상수도 마찬가지다.

좋은 웹페이지 즐겨찾기