Passion/Java

[Java] Class<T>

sunshout 2011. 7. 15. 06:54
Class<T>
class나 interface를 표현하는 인스턴스
   - Ref: http://download.oracle.com/javase/6/docs/api/java/lang/Class.html

public class MyClass {
private String field;
public static void main(String[] args) {
Class<?> clazz = MyClass.class;
// 인스턴스의 클래스 정보를 알고 싶을 때
// MyClass inst = new MyClass();
//Class<?> clazz = inst.getClass();
System.out.println(“This class name : “ + clazz.getName());
}



[root@vm-cs-mgmt test]# javac MyClass.java
[root@vm-cs-mgmt test]# java MyClass
This class name : MyClass
 
  - 주로 annotation을 파싱, 클래스 검사, 생성 등을 하기 위한 용도로 사용
  - primitive type인 Boolean, byte, char, short, int, long, float, double 과 void 역시 Class object로 표현됨
주요 함수

method

기능

Field[] getDeclaredFields()

class에 정의된 Field 등을 리턴

Field getDeclaredField(String name)

파라메터로 받은 필드를 리턴함

Annotation[] getAnnotations()

 

Annotation getAnnotation(Class<A> annotationClass

annotationClass에 해당하는 annotation을 리턴함

newInstance()

create new instance