자주 무시되는 세부 문제 (1)

1991 단어 java-노트
1. 자바 정적 방법은 덮어쓸 수 있습니까?코드를 붙이다
public class Super {
    static String greeting(){   
          return "Good night";   
      }   

      String name(){   
         return "Richard";   
      }   
}

public class Sub extends Super{
    static String greeting(){   
         return "Hello";   
      }   

      String name(){   
         return "Dick";   
      }  
}

public class Test {
    public static void main(String[] args){   
        Super s = new Sub();   //s      Super
        System.out.println(s.greeting()+","+s.name());  


        Sub s1 = new Sub();   //s1      Sub
        System.out.println(s1.greeting()+","+s1.name());
      }
}

  :
Good night,Dick
Hello,Dick

비정상적인 방법은 덮어쓰지만 정적 방법은 덮어쓰지 않는다. 어떤 방법을 사용하느냐에 따라 현재 대상의 클래스 정보가 부류에 속하느냐 하위 클래스에 속하느냐에 따라 결정된다.

좋은 웹페이지 즐겨찾기