>Java >java지도 시간 >Java의 this.getClass() 및 super.getClass()에 대한 사례

Java의 this.getClass() 및 super.getClass()에 대한 사례

黄舟
黄舟원래의
2017-08-22 10:06:431902검색

이 글은 주로 java의 this.getClass()와 super.getClass() 예제에 대한 관련 정보를 소개하고 있습니다. 도움이 필요한 친구들은 참고하시면 됩니다.

this.getClass()와 super.getClass(에 대한 자세한 설명은 ) in java 예제

서문:

this.getClass() 및 super.getClass()의 반환 값을 발견했을 때 혼란스러웠습니다. 탐색 후 갑자기 명확해졌습니다.

getClass()는 Java의 Object 클래스 메소드입니다. 프로토타입은 다음과 같습니다.


 public final Class<?> getClass()


반환 값은 현재 런타임 클래스의 Class 객체입니다.

그래서 설명하기 위해 다음과 같은 코드를 작성했습니다.

getClass()는 this 및 super의 영향을 받지 않지만 현재 실행 중인 클래스에 의해 결정됩니다.

코드는 다음과 같습니다.

상위 클래스:


package com.cyou.lijiang_hw; 
 
import java.lang.reflect.ParameterizedType; 
 
public class BaseDAO { 
  public BaseDAO() { 
    System.out.println("==============BaseDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass());  
  } 
}

하위 클래스:


package com.cyou.lijiang_hw; 
 
public class UserDAO extends BaseDAO<User> { 
  public UserDAO() { 
    System.out.println("\n==============UserDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass()); 
  } 
}

테스트 클래스:


package com.cyou.lijiang_hw; 
 
public class Test { 
  public static void main(String[] args) { 
    UserDAO userDAO = new UserDAO(); 
  } 
}

출력 결과는 다음과 같습니다.


아아아아

위 내용은 Java의 this.getClass() 및 super.getClass()에 대한 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.