본문 바로가기

소프트웨어/Android/Java/Ndk

JAVA] main에서 sub class의 super class의 변수 호출은 불가능한가..?

JAVA] main에서 sub class의 super class의 변수 호출은 불가능한가..?

 

 

 

public class parents {
 public int x=10;
 public int y=20;
  

일단 super class는 위와같이 x=10, y=20으로 선언 하였다. 

public class childrens extends parents{
 public int x=50;
 public int y=50;
 public int z=20; 

그리고 sub class에서는 x와 y값을 overriding하였다.

 

 

 

public static void main(String[] args) {

childrens chil = new childrens(); //subclass 객체 생성

parents pa = new parents(); //superclass 객체 생성

 

System.out.println(chil.x +" "+ chil.y + chil.z); //overriding된 값 출력
  System.out.println(chil.super.x); //ERROR.

굵은 글씨와 같이 main에서 chil.x의 super값을 얻으려 하였으나 실패 하였다.

오직 childrens class내에서 미리 super.x를 해줘야만 원 x값인 10을 얻을 수 있었다.

main 내에서 은닉된 super 변수를 얻을 순 없는 것인가..

 

?????