|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.Class<T>
T
- 이 Class
객체에 의해 모델화 되는 클래스의 형태
예를 들어,String.class
의 형태는 Class<String>
이다
모델화 되는 클래스가 불명의 경우는,Class<? >
를 사용한다public final class Class<T>
Class
클래스의 인스턴스는, 실행중의 Java 어플리케이션의 클래스 및 인터페이스를 나타냅니다. 열거는 클래스의 일종, 주석은 인터페이스의 일종입니다. (와)과 같이 어느 배열도, 같은 요소형 및 차원수를 가지는 모든 배열에 의해 공유되는 Class
객체로서 리플렉트 되는 클래스에 속합니다. Java 의 원시형 (boolean
,byte
,char
,short
,int
,long
,float
,double
)에 가세해 키워드 void
도 Class
객체로 나타내집니다.
Class
에는, public 생성자 은 없습니다. Class
객체는, 클래스가 로드 될 때에 Java 가상 머신에 의해, 및 클래스 로더의 defineClass
메소드의 호출에 의해 자동적으로 구축됩니다.
이하의 예에서는,Class
객체를 사용해 객체의 클래스명을 출력합니다.
void printClassName(Object obj) { System.out.println("The class of " + obj + " is " + obj.getClass(). getName()); }
클래스 리터럴을 사용해, 이름 첨부형 (또는 void)을 위한 Class
객체를 취득할 수도 있습니다 (JLS 섹션 15.8. 2 ). 다음에 예를 나타냅니다.
System.out.println("The name of class Foo is: "+Foo.class.getName());
ClassLoader.defineClass(byte[], int, int)
,
직렬화 된 형식 메소드의 개요 | ||
---|---|---|
|
asSubclass (Class <U> clazz)
지정된 클래스 객체에 의해 나타내지는 클래스의 서브 클래스를 나타내기 위해서(때문에) 이 Class 객체를 캐스트 합니다. |
|
T |
cast (Object obj)
이 Class 객체가 나타내는 클래스 또는 인터페이스에 객체를 캐스트 합니다. |
|
boolean |
desiredAssertionStatus ()
이 메소드의 호출시에 이 클래스를 초기화하는 경우, 클래스에 할당할 수 있는 선언 상태를 돌려줍니다. |
|
static Class <? > |
forName (String className)
지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있던, Class 객체를 돌려줍니다. |
|
static Class <? > |
forName (String name,
boolean initialize,
ClassLoader loader)
지정된 클래스 로더를 사용해, 지정된 캐릭터 라인명을 가지는 클래스 또는 인터페이스에 관련지을 수 있었던 Class 객체를 돌려줍니다. |
|
|
getAnnotation (Class <A> annotationClass)
지정된 형태의 주석이 존재하는 경우는, 지정된 형태의 요소의 주석을 돌려줍니다. |
|
Annotation [] |
getAnnotations ()
이 요소에 존재하는 모든 주석을 돌려줍니다 (이 요소에 주석이 없는 경우는 길이 제로의 배열을 돌려줍니다). |
|
String |
getCanonicalName ()
「Java 언어 스펙」의 정의에 따라, 기본이 되는 클래스의 정규명을 돌려줍니다. |
|
Class <? >[] |
getClasses ()
이 Class 객체가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class 객체를 포함하고 있는 배열을 돌려줍니다. |
|
ClassLoader |
getClassLoader ()
클래스의 클래스 로더를 돌려줍니다. |
|
Class <? > |
getComponentType ()
배열의 컴퍼넌트형을 나타내는 Class 를 돌려줍니다. |
|
Constructor <T > |
getConstructor (Class <? >... parameterTypes)
이 Class 객체가 나타내는 클래스의 지정된 public 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다. |
|
Constructor <? >[] |
getConstructors ()
이 Class 객체가 나타내는 클래스의 모든 public 생성자 을 리플렉트 하는 Constructor 객체를 포함하고 있는 배열을 돌려줍니다. |
|
Annotation [] |
getDeclaredAnnotations ()
이 요소에 직접 존재하는 모든 주석을 돌려줍니다. |
|
Class <? >[] |
getDeclaredClasses ()
이 Class 객체가 나타내는 클래스의 멤버로서 선언된 모든 클래스 및 인터페이스를 리플렉트 하는 Class 객체의 배열을 돌려줍니다. |
|
Constructor <T > |
getDeclaredConstructor (Class <? >... parameterTypes)
이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 생성자 을 리플렉트 하는 Constructor 객체를 돌려줍니다. |
|
Constructor <? >[] |
getDeclaredConstructors ()
이 Class 객체가 나타내는 클래스에 의해 선언된 모든 생성자 을 리플렉트 하는 Constructor 객체의 배열을 돌려줍니다. |
|
Field |
getDeclaredField (String name)
이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 필드를 리플렉트 하는 Field 객체를 돌려줍니다. |
|
Field [] |
getDeclaredFields ()
이 Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 필드를 리플렉트 하는 Field 객체의 배열을 돌려줍니다. |
|
Method |
getDeclaredMethod (String name,
Class <? >... parameterTypes)
이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 메소드를 리플렉트 하는 Method 객체를 돌려줍니다. |
|
Method [] |
getDeclaredMethods ()
이 Class 객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 메소드를 리플렉트 하는 Method 객체의 배열을 돌려줍니다. |
|
Class <? > |
getDeclaringClass ()
이 Class 객체가 나타내는 클래스 또는 인터페이스가 다른 클래스의 멤버의 경우는, 그것이 선언된 클래스를 나타내는 Class 객체를 돌려줍니다. |
|
Class <? > |
getEnclosingClass ()
기본이 되는 클래스를 직접 둘러싸는 클래스를 돌려줍니다. |
|
Constructor <? > |
getEnclosingConstructor ()
이 Class 객체가, 생성자 내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 생성자 을 나타내는 Constructor 객체를 돌려줍니다. |
|
Method |
getEnclosingMethod ()
이 Class 객체가, 메소드내의 로컬 클래스 또는 익명 클래스를 나타내는 경우는, 기본이 되는 클래스를 직접 둘러싸는 메소드를 나타내는 Method 객체를 돌려줍니다. |
|
T [] |
getEnumConstants ()
이 enum 클래스의 요소를 돌려주는지, 이 Class 객체가 enum 형을 나타내지 않는 경우는 null 를 돌려줍니다. |
|
Field |
getField (String name)
이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리플렉트 하는 Field 객체를 돌려줍니다. |
|
Field [] |
getFields ()
이 Class 객체가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리플렉트 하는,Field 객체를 보관 유지하고 있는 배열을 돌려줍니다. |
|
Type [] |
getGenericInterfaces ()
이 객체에 의해 나타내지는 인터페이스 또는 클래스에 의해 직접 구현되는 인터페이스를 나타내는 Type 를 돌려줍니다. |
|
Type |
getGenericSuperclass ()
이 Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 직접적인 슈퍼 클래스를 나타내는 Type 를 돌려줍니다. |
|
Class <? >[] |
getInterfaces ()
이 객체가 나타내는 클래스 또는 인터페이스에 의해 구현되는 인터페이스를 가져옵니다. |
|
Method |
getMethod (String name,
Class <? >... parameterTypes)
이 Class 객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 메소드를 리플렉트 하는 Method 객체를 돌려줍니다. |
|
Method [] |
getMethods ()
이 Class 객체가 나타내는 클래스 또는 인터페이스의 모든 public 「멤버」메소드를 리플렉트 하는 Method 객체를 포함하고 있는 배열을 돌려줍니다. |
|
int |
getModifiers ()
이 클래스 또는 인터페이스의 Java 언어 수식자를 정수형에 encode 해 돌려줍니다. |
|
String |
getName ()
이 Class 객체가 나타내는 엔티티 (클래스, 인터페이스, 배열 클래스, 원시형, 또는 void)의 이름을,String 로서 돌려줍니다. |
|
Package |
getPackage ()
이 클래스의 패키지를 가져옵니다. |
|
ProtectionDomain |
getProtectionDomain ()
이 클래스의 ProtectionDomain 를 돌려줍니다. |
|
URL |
getResource (String name)
지정된 이름의 자원을 찾습니다. |
|
InputStream |
getResourceAsStream (String name)
지정된 이름의 자원을 찾습니다. |
|
Object [] |
getSigners ()
이 클래스의 서명자를 가져옵니다. |
|
String |
getSimpleName ()
원시 코드내에서 지정되었던 대로, 기본이 되는 클래스의 단순명을 돌려줍니다. |
|
Class <? super T > |
getSuperclass ()
이 Class 로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 슈퍼 클래스를 나타내는 Class 를 돌려줍니다. |
|
TypeVariable <Class <T >>[] |
getTypeParameters ()
GenericDeclaration 객체에 의해 나타내지는 총칭 선언으로 선언된 형태 변수를 나타내는 TypeVariable 객체의 배열을 선언순서에 돌려줍니다. |
|
boolean |
isAnnotation ()
Class 객체가 주석형을 나타내는 경우는 true 를 돌려줍니다. |
|
boolean |
isAnnotationPresent (Class <? extends Annotation > annotationClass)
지정된 형태의 주석이 이 요소에 존재하는 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다. |
|
boolean |
isAnonymousClass ()
기본이 되는 클래스가 익명 클래스인 경우만 true 를 돌려줍니다. |
|
boolean |
isArray ()
이 Class 객체가 배열 클래스를 나타낼지 어떨지를 판정합니다. |
|
boolean |
isAssignableFrom (Class <? > cls)
이 Class 객체가 나타내는 클래스 또는 인터페이스가, 지정된 Class 파라미터가 나타내는 클래스 또는 인터페이스와 동일한지 어떤지, 혹은 그 슈퍼 클래스 혹은 슈퍼 인터페이스일지 어떨지를 판정합니다. |
|
boolean |
isEnum ()
이 클래스가 원시 코드로 enum 로서 선언되었을 경우만 true 를 돌려줍니다. |
|
boolean |
isInstance (Object obj)
지정된 Object 가, 이 Class 가 나타내는 객체와 대입 호환의 관계에 있을지 어떨지를 판정합니다. |
|
boolean |
isInterface ()
지정된 Class 객체가 인터페이스형을 나타낼지 어떨지를 판정합니다. |
|
boolean |
isLocalClass ()
기본이 되는 클래스가 로컬 클래스인 경우만 true 를 돌려줍니다. |
|
boolean |
isMemberClass ()
기본이 되는 클래스가 멤버 클래스인 경우만 true 를 돌려줍니다. |
|
boolean |
isPrimitive ()
지정된 Class 객체가 원시형을 나타낼지 어떨지를 판정합니다. |
|
boolean |
isSynthetic ()
이 클래스가 합성 클래스인 경우는 true 를 돌려주어, 그렇지 않은 경우는 false 를 돌려줍니다. |
|
T |
newInstance ()
이 Class 객체가 나타내는 클래스의 새로운 인스턴스를 생성합니다. |
|
String |
toString ()
객체를 캐릭터 라인으로 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
메소드의 상세 |
---|
public String toString()
getName
가 돌려주는 형식의 완전 수식 클래스명이라고 하는 순서로 표현됩니다. 이 Class
객체가 원시형을 나타내는 경우, 이 메소드는 원시형의 이름을 돌려주어, void 를 나타내는 경우는, 「void」를 돌려줍니다.
Object
내의 toString
public static Class <? > forName(String className) throws ClassNotFoundException
Class
객체를 돌려줍니다. 이 메소드를 호출하는 것은, 다음의 기술에 상당합니다.
여기서,Class.forName(className, true, currentLoader)
currentLoader
는, 현재의 클래스를 정의하는 클래스 로더를 나타냅니다.
예를 들어 이하의 기술은,java.lang.Thread
라는 이름의 클래스의 실행시에 있어서의 Class
기술자를 돌려줍니다.
Class t = Class.forName("java.lang.Thread")
forName("X") 의 호출에 의해,X 라고 하는 클래스가 초기화됩니다.
className
- 요구하는 클래스의 완전한 이름(FQN)
Class
객체
LinkageError
- 링키지에 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException
- 클래스가 발견되지 않았던 경우public static Class <? > forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException
Class
객체를 돌려줍니다. 클래스 또는 인터페이스의 완전 수식명을 (getName
가 돌려주는 형식과 같은 형식에서) 지정하면(자), 이 메소드는 클래스 또는 인터페이스를 찾아내 로드해, 링크하려고 합니다. 클래스 또는 인터페이스를 로드하려면 , 지정된 클래스 로더가 사용됩니다. loader
파라미터가 null 의 경우, 클래스는 bootstrap 클래스 로더를 사용해 로드 됩니다. initialize
파라미터가 true
로, 그때까지 초기화되어 있지 않은 경우만, 클래스는 초기화됩니다.
name
가 원시형 또는 void 를 나타내는 경우, 무명 패키지내에서 name
라는 이름의 사용자 정의의 클래스를 찾아내려고 합니다. 이 때문에, 이 메소드를 사용해, 원시형 또는 void 를 나타내는 Class
객체를 취득할 수 없습니다.
name
가 배열 클래스를 나타내는 경우, 배열 클래스의 컴퍼넌트형은 로드 됩니다만, 초기화되지 않습니다.
예를 들어, 인스턴스 메소드에서는,
이것은, 다음과 같습니다.Class.forName("Foo")
다만, 이 메소드는,「Java 언어 스펙」의 섹션 12.2, 12.3, 12.4 로 지정된, 로드, 링크, 또는 초기화에 관련하는 에러를 throw 합니다. 이 메소드는, 요구된 클래스가 호출해 옆으로부터 액세스 가능한지 어떤지를 체크하지 않습니다.Class.forName("Foo", true, this.getClass(). getClassLoader())
loader
가 null
로, 시큐리티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아닌 경우, 이 메소드는 시큐리티 매니저의 checkPermission
메소드를 RuntimePermission("getClassLoader")
의 액세스권을 사용해 호출하는 것에 의해, bootstrap 클래스 로더에 문제 없게 액세스 할 수 있는 것을 보증합니다.
name
- 요구하는 클래스의 완전한 이름(FQN)initialize
- 클래스를 초기화할 필요의 유무loader
- 클래스의 로드원일 필요가 있는 클래스 로더
LinkageError
- 링키지에 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화에 실패했을 경우
ClassNotFoundException
- 지정된 클래스 로더에 의해 클래스가 발견되지 않았던 경우forName(String)
,
ClassLoader
public T newInstance() throws InstantiationException , IllegalAccessException
new
식에 빈 상태(empty)의 인수 리스트를 지정했을 경우와 같이, 클래스의 인스턴스가 생성됩니다. 클래스는, 초기화되어 있지 않으면 초기화됩니다.
이 메소드는 확인이 끝난 예외 등, 인수 없음의 생성자 에 의해 throw 된 예외를 보내는 것에 주의해 주세요. 이 메소드를 사용하는 것으로, 그 외의 경우에는 컴파일러에 의해 실행되는 컴파일시의 예외 확인을 효과적으로 우회도로 할 수 있습니다. Constructor.newInstance
메소드는, (확인 끝난) InvocationTargetException
의 생성자 에 의해 throw 된 예외를 랩 하는 것으로, 이 문제를 회피합니다.
IllegalAccessException
- 클래스 또는 그 인수 없음의 생성자 에 액세스 할 수 없는 경우
InstantiationException
- 이 Class
가 abstract 클래스, 인터페이스, 배열 클래스, 원시형, 또는 void 를 나타내는 경우, 클래스가 인수 없음의 생성자 을 보관 유지하지 않는 경우, 혹은 인스턴스의 생성이 다른 이유로써 실패했을 경우
ExceptionInInitializerError
- 이 메소드에 의한 초기화가 실패했을 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 클래스의 신규 인스턴스의 작성을 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public boolean isInstance(Object obj)
Object
가, 이 Class
가 나타내는 객체와 대입 호환의 관계에 있을지 어떨지를 판정합니다. 이 메소드는, Java 언어의 instanceof
연산자와 동적으로 등가입니다. 지정된 Object
인수가 null 는 아니고, 이 Class
객체가 나타내는 참조형에 ClassCastException
를 throw 하는 일 없이 캐스트 할 수 있는 경우, 이 메소드는 true
를 돌려줍니다. 그렇지 않은 경우는,false
를 돌려줍니다.
특히, 이 Class
객체가 선언 클래스를 나타낼 때는, 이 메소드는, 지정된 Object
인수가 표현 클래스 (또는 그 서브 클래스)의 인스턴스의 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
객체가 배열 클래스를 나타낼 때는, 항등변환 또는 확장 참조 변환을 이용해 지정된 Object
인수를 배열 클래스의 객체로 변환할 수 있는 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
객체가 인터페이스를 나타낼 때는, 지정된 Object
인수의 클래스 또는 슈퍼 클래스가 이 인터페이스를 구현하는 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다. 이 Class
객체가 원시형을 나타내는 경우는 false
를 돌려줍니다.
obj
- 체크 대상의 객체
obj
가 이 클래스의 인스턴스의 경우는 truepublic boolean isAssignableFrom(Class <? > cls)
Class
객체가 나타내는 클래스 또는 인터페이스가, 지정된 Class
파라미터가 나타내는 클래스 또는 인터페이스와 동일한지 어떤지, 혹은 그 슈퍼 클래스 혹은 슈퍼 인터페이스일지 어떨지를 판정합니다. 어딘가에 들어맞는 경우는 true
를, 그렇지 않은 경우는 false
를 돌려줍니다. 이 Class
객체가 원시형을 나타낼 때는, 지정된 Class
파라미터와 이 Class
객체가 일치하는 경우에 true
를, 그렇지 않은 경우에 false
를 돌려줍니다.
특히 이 메소드는, 지정된 Class
파라미터가 표현하는 형태를, 항등변환 또는 확장 참조 변환을 사용해, 이 Class
객체가 나타내는 형태로 변환할 수 있을지 어떨지를 조사합니다. 자세한 것은, 「Java 언어 스펙」의 섹션 5.1. 1 으로 5.1. 4 를 참조해 주세요.
cls
- 체크 대상의 Class
객체
cls
형의 객체가 이 클래스에 할당할 수 있을지 어떨지를 나타내는 boolean
치
NullPointerException
- 지정된 Class 파라미터가 null 의 경우public boolean isInterface()
Class
객체가 인터페이스형을 나타낼지 어떨지를 판정합니다.
true
, 그렇지 않은 경우는 false
public boolean isArray()
Class
객체가 배열 클래스를 나타낼지 어떨지를 판정합니다.
true
, 그렇지 않은 경우는 false
public boolean isPrimitive()
Class
객체가 원시형을 나타낼지 어떨지를 판정합니다.
8 개의 Java 의 원시형과 void 를 나타내는, 9 개의 정의가 끝난 Class
객체가 있습니다. 이것들은 Java 가상 머신이 작성해, 해당하는 원시형과 같은 이름을 가집니다. 즉,boolean
,byte
,char
,short
,int
,long
,float
,double
, 및 void 입니다.
이러한 객체에는, 이하의 public static final 변수를 사용하는 방법에 따라서만 액세스 할 수 있습니다. 또, 이 메소드가 true
를 돌려주는 것은, 이러한 9 개의 Class
객체로 한정됩니다.
Boolean.TYPE
,
Character.TYPE
,
Byte.TYPE
,
Short.TYPE
,
Integer.TYPE
,
Long.TYPE
,
Float.TYPE
,
Double.TYPE
,
Void.TYPE
public boolean isAnnotation()
isInterface()
도 true 를 돌려줍니다.
public boolean isSynthetic()
public String getName()
「Java 언어 스펙, 제 2 판」으로 규정되고 있도록(듯이), 이 클래스 객체가 배열형이 아닌 참조형을 나타내는 경우는, 클래스의 바이너리명이 돌려주어집니다.
이 클래스 객체가 원시형 또는 void 를 나타내는 경우, 반환되는 이름은 원시형 또는 void 에 대응하는 Java 언어 키워드와 등가인 String 입니다.
이 클래스 객체가 배열의 클래스를 나타내는 경우, 이름의 내부 형식은, 배열의 상자의 깊이를 나타내는 1 개(살) 이상의 「[」문자, 요소형의 이름이라고 하는 순서로 구성됩니다. 요소형의 이름의 인코딩은, 이하대로입니다.
Element Type 인코딩 boolean 형 Z byte B char C class 또는 interface Lclassname; double D float F int I long J short S
클래스명 또는 인터페이스명의 classname 는, 상기의 예의 같게 클래스의 바이너리명으로 지정됩니다.
례:
String.class.getName() returns "java.lang.String" byte.class.getName() returns "byte" (new Object[3]). getClass(). getName() returns "[Ljava.lang.Object;" (new int[3][4][5][6][7][8][9]). getClass(). getName() returns "[[[[[[[I"
public ClassLoader getClassLoader()
시큐리티 매니저가 존재해, 호출측의 클래스 로더가 null 가 아니고, 클래스 로더가 필요하게 되는 클래스의 클래스 로더의 상위 로더도 아닌 경우, 이 메소드는 시큐리티 매니저의 checkPermission
메소드를 RuntimePermission("getClassLoader")
의 액세스권을 사용해 호출하는 것에 의해 클래스의 클래스 로더에 문제 없게 액세스 할 수 있는 것을 보증합니다.
이 객체가 원시형 또는 void 를 나타내는 경우는, null 가 돌려주어집니다.
SecurityException
- 시큐리티 매니저가 존재해, 그 checkPermission
메소드가 클래스의 클래스 로더에의 액세스를 거부하는 경우ClassLoader
,
SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public TypeVariable <Class <T >>[] getTypeParameters()
GenericDeclaration
내의 getTypeParameters
GenericSignatureFormatError
- 이 총칭 선언의 총칭 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우public Class <? super T > getSuperclass()
Class
로 나타내지는 엔티티 (클래스, 인터페이스, 원시형, 또는 void)의 슈퍼 클래스를 나타내는 Class
를 돌려줍니다. 이 Class
가,Object
클래스, 인터페이스, 원시형, 또는 void 를 나타내는 경우, null 가 돌려주어집니다. 이 객체가 배열 클래스를 나타내는 경우,Object
클래스를 나타내는 Class
객체가 돌려주어집니다.
public Type getGenericSuperclass()
슈퍼 클래스가 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 반영하지 않으면 안됩니다. 슈퍼 클래스를 나타내는 파라미터화 된 형태는, 이전 작성되어 있지 않았던 경우에 작성됩니다. 파라미터화 된 형태의 작성 프로세스의 시멘틱스에 대해서는,ParameterizedType
의 선언을 참조해 주세요. 이 Class 가,Object 클래스, 인터페이스, 원시형, 또는 void 를 나타내는 경우, null 가 돌려주어집니다. 이 객체가 배열 클래스를 나타내는 경우,Object 클래스를 나타내는 Class 객체가 돌려주어집니다.
GenericSignatureFormatError
- 이 총칭 클래스의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException
- 총칭 슈퍼 클래스가, 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException
- 총칭 슈퍼 클래스가, 어떠한 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우public Package getPackage()
클래스에 부속되는 Manifest로 정보가 정의되었을 경우와 클래스 로더가 Manifest의 속성을 가지는 패키지 인스턴스를 생성했을 경우에만, 패키지는 버젼과 스펙의 속성을 가집니다.
public Class <? >[] getInterfaces()
이 객체가 클래스를 나타내는 경우, 반환값은, 클래스에 의해 구현되는 모든 인터페이스를 나타내는 객체를 포함하고 있는 배열입니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 클래스를 선언하는 implements
절내의 인터페이스명의 순서에 일치합니다. 예를 들어,
그렇다고 하는 선언이 있어,class Shimmer implements FloorWax, DessertTopping { ... }
s
의 값이 Shimmer
의 인스턴스이다고 합니다.
그렇다고 하는 식의 값은s.getClass(). getInterfaces()[0]
FloorWax
인터페이스를 나타내는 Class
객체이며,
그렇다고 하는 식의 값은,s.getClass(). getInterfaces()[1]
DessertTopping
인터페이스를 나타내는 Class
객체입니다.
이 객체가 인터페이스를 나타내는 경우, 그 인터페이스에 의해 확장된 모든 인터페이스를 나타내는 객체가 배열내에 접어듭니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 인터페이스를 선언하는 extends
절내의 인터페이스명의 순서에 일치합니다.
이 객체가 인터페이스를 구현하지 않는 클래스 또는 인터페이스를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.
이 객체가 원시형 또는 void 를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.
public Type [] getGenericInterfaces()
슈퍼 인터페이스가 파라미터화 된 형태의 경우, 반환되는 Type 객체는, 원시 코드로 사용되는 실제의 형태 파라미터를 반영하지 않으면 안됩니다. 슈퍼 인터페이스를 나타내는 파라미터화 된 형태는, 이전 작성되어 있지 않았던 경우에 작성됩니다. 파라미터화 된 형태의 작성 프로세스의 시멘틱스에 대해서는,ParameterizedType
의 선언을 참조해 주세요.
이 객체가 클래스를 나타내는 경우, 반환값은, 클래스에 의해 구현되는 모든 인터페이스를 나타내는 객체를 포함하고 있는 배열입니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 클래스를 선언하는 implements 절내의 인터페이스명의 순서에 일치합니다. 배열 클래스의 경우,Cloneable 인터페이스와 Serializable 인터페이스는 그 순서로 돌려주어집니다.
이 객체가 인터페이스를 나타내는 경우, 그 인터페이스에 의해 확장된 모든 인터페이스를 나타내는 객체가 배열내에 접어듭니다. 배열내의 인터페이스 객체의 순서는, 이 객체가 나타내는 인터페이스를 선언하는 extends 절내의 인터페이스명의 순서에 일치합니다.
이 객체가 인터페이스를 구현하지 않는 클래스 또는 인터페이스를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.
이 객체가 원시형 또는 void 를 나타내는 경우, 이 메소드는 길이가 0 의 배열을 돌려줍니다.
GenericSignatureFormatError
- 이 총칭 클래스의 서명이 「Java 가상 머신 스펙 제 3 판」으로 규정되는 서식에 적합하지 않는 경우
TypeNotPresentException
- 총칭 슈퍼 인터페이스의 어떤 것인가가, 존재하지 않는 형태 선언을 참조하는 경우
MalformedParameterizedTypeException
- 총칭 슈퍼 인터페이스의 어떤 것인가가, 어떠한 이유에 의해 인스턴스화할 수 없는 파라미터화 된 형태를 참조하는 경우public Class <? > getComponentType()
Class
를 돌려줍니다. 이 클래스가 배열 클래스를 나타내지 않는 경우, 이 메소드는 null 를 돌려줍니다.
Class
Array
public int getModifiers()
public
,protected
,private
,final
,static
,abstract
, 및 interface
용의 Java 가상 머신의 정수로부터 구성됩니다. 이것들은,Modifier
클래스의 메소드를 사용해 복호화 하지 않으면 안됩니다.
기본이 되는 클래스가 배열 클래스의 경우,public
,private
, 및 protected
의 각 수식자는 컴퍼넌트형의 수식자와 같습니다. 이 Class
가 원시형 또는 void 의 경우,public
의 각 수식자는 항상 true
로,protected
및 private
수식자는 항상 false
입니다. 이 객체가 배열 클래스, 원시형, 또는 void 를 나타내는 경우,final
수식자는 항상 true
로, 그 인터페이스 수식자는 항상 false
입니다. 그 외의 수식자의 값은, 이 스펙에서는 판정되지 않습니다.
수식자의 encode 방법은, Java Virtual Machine 스펙의 표 4.1 에 정의되고 있습니다.
int
Modifier
public Object [] getSigners()
public Method getEnclosingMethod()
Method
객체를 돌려줍니다. 그렇지 않은 경우는 null 를 돌려줍니다.
특히, 기본이 되는 클래스가, 형태 선언, 인스턴스 초기화자, 또는 스태틱 초기화자에 의해 직접 둘러싸이는 로컬 클래스 또는 익명 클래스인 경우, 이 메소드는 null 를 돌려줍니다.
public Constructor <? > getEnclosingConstructor()
Constructor
객체를 돌려줍니다. 그렇지 않은 경우는 null 를 돌려줍니다. 특히, 기본이 되는 클래스가, 형태 선언, 인스턴스 초기화자, 또는 스태틱 초기화자에 의해 직접 둘러싸이는 로컬 클래스 또는 익명 클래스인 경우, 이 메소드는 null 를 돌려줍니다.
public Class <? > getDeclaringClass()
Class
객체가 나타내는 클래스 또는 인터페이스가 다른 클래스의 멤버의 경우는, 그것이 선언된 클래스를 나타내는 Class
객체를 돌려줍니다. 이 클래스 또는 인터페이스가 다른 클래스의 멤버가 아닌 경우는, null 를 돌려줍니다. 이 Class
객체가 배열 클래스, 원시형, 또는 void 를 나타내는 경우, 이 메소드는 null 를 돌려줍니다.
public Class <? > getEnclosingClass()
public String getSimpleName()
배열의 단순명은, 「[]」이 부가된 컴퍼넌트형의 단순명입니다. 특히, 컴퍼넌트형이 익명인 배열의 단순명은, 「[]」입니다.
public String getCanonicalName()
public boolean isAnonymousClass()
public boolean isLocalClass()
public boolean isMemberClass()
public Class <? >[] getClasses()
Class
객체가 나타내는 클래스의 멤버인, 모든 public 클래스 및 인터페이스를 나타내는 Class
객체를 포함하고 있는 배열을 돌려줍니다. 슈퍼 클래스로부터 상속한 public 클래스 및 인터페이스의 멤버, 및 클래스가 선언한 public 클래스와 인터페이스의 멤버도 포함됩니다. 이 Class
객체가 public 멤버 클래스나 인터페이스를 가지지 않는 경우나, 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.
Class
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 메소드의 호출이 이 클래스내의 클래스에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Field [] getFields() throws SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 모든 액세스 가능한 public 필드를 리플렉트 하는,Field
객체를 보관 유지하고 있는 배열을 돌려줍니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 클래스 또는 인터페이스에 액세스 가능한 public 필드가 없는 경우나, 클래스 또는 인터페이스가 배열 클래스, 원시형, 또는 void 를 나타내는 경우는, 길이가 0 의 배열을 돌려줍니다.
특히, 이 Class
객체가 클래스를 나타내는 경우, 이 메소드는 이 클래스와 그 모든 슈퍼 클래스의 public 필드를 돌려줍니다. 이 Class
객체가 인터페이스를 나타내는 경우는, 이 인터페이스와 모든 슈퍼 인터페이스의 필드를 돌려줍니다.
이 메소드는, 배열 클래스의 암묵적인 길이 필드를 리플렉트 하지 않습니다. 사용자 코드로 배열을 조작하려면 ,Array
클래스의 메소드를 사용할 필요가 있습니다.
「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.
Field
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 클래스내의 필드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Method [] getMethods() throws SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 모든 public 「멤버」메소드를 리플렉트 하는 Method
객체를 포함하고 있는 배열을 돌려줍니다. 클래스 또는 인터페이스가 선언한 것, 및 슈퍼 클래스나 슈퍼 인터페이스로부터 상속된 것도 포함됩니다. 배열 클래스는,Object
클래스로부터 상속된 모든 (public) 멤버 메소드를 돌려줍니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 Class
객체가 public 멤버 메소드가 없는 클래스 또는 인터페이스를 나타내는 경우나, 원시형 또는 void 를 나타내는 경우는, 이 메소드는 길이가 0 의 배열을 돌려줍니다.
클래스 초기화 메소드 <clinit>
는, 반환된 배열에는 없습니다. 클래스가 같은 파라미터형을 가지는 복수의 public 멤버 메소드를 선언하는 경우, 그러한 메소드는, 모두 반환된 배열에 있습니다.
「Java 언어 스펙」의 섹션 8.2 로 8.4 를 참조해 주세요.
Method
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 클래스내의 메소드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Constructor <? >[] getConstructors() throws SecurityException
Class
객체가 나타내는 클래스의 모든 public 생성자 을 리플렉트 하는 Constructor
객체를 포함하고 있는 배열을 돌려줍니다. 클래스에 public 생성자 이 없는 경우, 클래스가 배열 클래스의 경우, 또는 클래스가 원시형 또는 void 를 리플렉트 하는 경우에는, 길이가 0 의 배열을 돌려줍니다.
이 메소드는 Constructor<T>
객체의 배열 (이 클래스로부터의 생성자 의 배열)을 돌려줍니다만, 이 메소드의 반환값의 형태는 Constructor<? >[]
이며, 예상되는 Constructor<T>[]
가 아닙니다. 이 정보의 적은 반환값의 형태는, 이 메소드로부터 반환된 후에 필요하게 되어, 이 배열은 다양한 클래스의 Constructor
객체를 보관 유지하도록(듯이) 변경되는 일이 있습니다. 이것은,Constructor<T>[]
의 형태 보증에 위반합니다.
Constructor
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 클래스내의 생성자 에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Field getField(String name) throws NoSuchFieldException , SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 필드를 리플렉트 하는 Field
객체를 돌려줍니다. name
파라미터는, 요구되는 필드의 단순명을 지정하는 String
입니다.
리플렉트 되는 필드는, 다음의 알고리즘으로 결정됩니다. 여기에서는, 이 객체가 나타내는 클래스를 C 로 합니다.
NoSuchFieldException
가 throw 됩니다. 「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.
name
- 필드명
name
로 지정된 이 클래스의 Field
객체
NoSuchFieldException
- 지정된 이름의 필드가 발견되지 않는 경우
NullPointerException
- name
가 null
의 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 필드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Method getMethod(String name, Class <? >... parameterTypes) throws NoSuchMethodException , SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 지정된 public 멤버 메소드를 리플렉트 하는 Method
객체를 돌려줍니다. name
파라미터는, 요구되는 메소드에 단순명을 지정하는 String
입니다. parameterTypes
파라미터는, 메소드의 가파라미터형이 선언된 순서로 식별하는 Class
객체의 배열입니다. parameterTypes
가 null
의 경우는, 빈 상태(empty)의 배열과 같이 다루어집니다.
name
가 「<init>
;」또는 「<clinit>
」의 경우는,NoSuchMethodException
가 throw 됩니다. 그렇지 않은 경우, 리플렉트 되는 메소드는, 다음의 알고리즘으로 지정됩니다. 여기에서는, 이 객체가 나타내는 클래스를 C 로 합니다.
Java 언어는, 서명은 같아도 반환값의 형태가 다른 복수의 메소드를 선언하는 클래스를 금지합니다만, Java 가상 머신은 이것을 금지하지 않기 때문에, 클래스내에 일치하는 메소드가 복수 존재하는 일이 있습니다. 가상 머신의 이러한 유연성을 사용해, 다양한 언어 기능을 구현할 수가 있습니다. 예를 들어, 공변의 리턴은 bridge 메소드 로 구현할 수 있습니다. 이 bridge 메소드와 오버라이드(override) 되는 메소드는 같은 서명을 가집니다만, 반환값의 형태는 다양합니다.
「Java 언어 스펙」의 섹션 8.2 로 8.4 를 참조해 주세요.
name
- 메소드의 이름parameterTypes
- 파라미터의 리스트
name
와 parameterTypes
와 일치하는 Method
객체
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우, 혹은 이름이 「<init>」또는 「<clinit>」의 경우
NullPointerException
- name
가 null
의 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 메소드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Constructor <T > getConstructor(Class <? >... parameterTypes) throws NoSuchMethodException , SecurityException
Class
객체가 나타내는 클래스의 지정된 public 생성자 을 리플렉트 하는 Constructor
객체를 돌려줍니다. parameterTypes
파라미터는, 생성자 의 가파라미터형을 선언순서에 식별하는 Class
객체의 배열입니다.
이 Class
객체가 비 static 문맥에 선언된 내부 클래스를 나타내는 경우, 가파라미터형에는 최초의 파라미터로서 명시적인 둘러싸는 인스턴스가 포함됩니다.
리플렉트 하는 생성자 은,parameterTypes
로 지정된 형태와 일치하는 가파라미터형을 가지는 이 Class
객체가 나타내는 클래스의 public 생성자 입니다.
parameterTypes
- 파라미터 배열
parameterTypes
와 일치하는 public 생성자 의 Constructor
객체
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.PUBLIC)
의 호출이 이 생성자 에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Class <? >[] getDeclaredClasses() throws SecurityException
Class
객체가 나타내는 클래스의 멤버로서 선언된 모든 클래스 및 인터페이스를 리플렉트 하는 Class
객체의 배열을 돌려줍니다. 이것에는, 클래스가 선언한 public, protected, 디폴트 (package) 액세스, 및 private 클래스와 인터페이스는 포함됩니다만, 상속 클래스와 인터페이스는 포함되지 않습니다. 이 메소드는, 클래스가 멤버로서 클래스 또는 인터페이스를 선언하고 있지 않은 경우나, 이 Class
객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.
Class
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 이 클래스내의 선언된 클래스에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Field [] getDeclaredFields() throws SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 필드를 리플렉트 하는 Field
객체의 배열을 돌려줍니다. 이것에는, public, protected, 디폴트 (package) 액세스, 및 private 필드는 포함됩니다만, 상속 필드는 포함되지 않습니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 메소드는, 클래스 또는 인터페이스가 필드를 선언하지 않는 경우나, 이 Class
객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는, 길이가 0 의 배열을 돌려줍니다.
「Java 언어 스펙」의 섹션 8.2 로 8.3 을 참조해 주세요.
Field
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 이 클래스내의 선언된 필드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Method [] getDeclaredMethods() throws SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스에 의해 선언된 모든 메소드를 리플렉트 하는 Method
객체의 배열을 돌려줍니다. 이것에는, public, protected, 디폴트 (package) 액세스, 및 private 메소드는 포함됩니다만, 상속 메소드는 포함되지 않습니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 이 메소드는, 클래스 또는 인터페이스가 메소드를 선언하지 않는 경우나, 이 Class
객체가 원시형, 배열 클래스, 또는 void 를 나타내는 경우는, 길이가 0 의 배열을 돌려줍니다. 클래스 초기화 메소드 <clinit>
는, 반환된 배열에는 없습니다. 클래스가 같은 파라미터형을 가지는 복수의 public 멤버 메소드를 선언하는 경우, 그러한 메소드는, 모두 반환된 배열에 있습니다.
「Java 언어 스펙」의 섹션 8.2 를 참조해 주세요.
Method
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 이 클래스내의 선언된 메소드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Constructor <? >[] getDeclaredConstructors() throws SecurityException
Class
객체가 나타내는 클래스에 의해 선언된 모든 생성자 을 리플렉트 하는 Constructor
객체의 배열을 돌려줍니다. 이것들은, public, protected, 디폴트 (package) 액세스, 및 private 생성자 입니다. 반환된 배열내의 요소는, 소트 되어 있거나, 특정의 순서가 되어 있거나 할 것은 없습니다. 클래스가 디폴트의 생성자 을 가지는 경우, 이 생성자 은 반환된 배열에 있습니다. 이 메소드는, 이 Class
객체가 인터페이스, 원시형, 배열 클래스, 또는 void 를 나타내는 경우에는 길이가 0 의 배열을 돌려줍니다.
「Java 언어 스펙」의 섹션 8.2 를 참조해 주세요.
Constructor
객체의 배열
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 이 클래스내의 선언된 생성자 에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Field getDeclaredField(String name) throws NoSuchFieldException , SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 필드를 리플렉트 하는 Field
객체를 돌려줍니다. name
파라미터는, 요구된 필드의 단순명을 지정하는 String
입니다. 이 메소드가 배열 클래스의 length
필드를 리플렉트 할 것은 없습니다.
name
- 필드의 이름
Field
객체
NoSuchFieldException
- 지정된 이름의 필드가 발견되지 않는 경우
NullPointerException
- name
가 null
의 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 선언된 필드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Method getDeclaredMethod(String name, Class <? >... parameterTypes) throws NoSuchMethodException , SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 지정된 선언 메소드를 리플렉트 하는 Method
객체를 돌려줍니다. name
파라미터는, 요구된 메소드의 단순명을 지정하는 String
입니다. parameterTypes
파라미터는, 메소드의 가파라미터형을 선언순서에 식별하는 Class
객체의 배열입니다. 같은 파라미터형을 가지는 복수의 메소드가 1 개의 클래스에서 선언되어 그러한 메소드의 1 개가 그 이외의 어떤 것보다 명확한 반환값의 형태를 가지는 경우에는, 그 메소드가 돌려주어집니다. 그렇지 않은 경우, 메소드의 1 개가 임의에 선택됩니다. 이름이 「<init>」또는 「<clinit>」의 경우는,NoSuchMethodException
가 throw 됩니다.
name
- 메소드의 이름parameterTypes
- 파라미터 배열
Method
객체
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
NullPointerException
- name
가 null
의 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 선언된 메소드에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public Constructor <T > getDeclaredConstructor(Class <? >... parameterTypes) throws NoSuchMethodException , SecurityException
Class
객체가 나타내는 클래스 또는 인터페이스의 지정된 생성자 을 리플렉트 하는 Constructor
객체를 돌려줍니다. parameterTypes
파라미터는, 생성자 의 가파라미터형을 선언순서에 식별하는 Class
객체의 배열입니다.
이 Class
객체가 비 static 문맥에 선언된 내부 클래스를 나타내는 경우, 가파라미터형에는 최초의 파라미터로서 명시적인 둘러싸는 인스턴스가 포함됩니다.
parameterTypes
- 파라미터 배열
Constructor
객체
NoSuchMethodException
- 일치하는 메소드가 발견되지 않는 경우
SecurityException
- 시큐리티 매니저 s 가 존재해, 이하의 조건의 어떤 것인가가 채워지는 경우
s.checkMemberAccess(this, Member.DECLARED)
의 호출이 선언된 생성자 에의 액세스를 허가하지 않는다
s.checkPackageAccess()
의 호출이 이 클래스의 패키지에의 액세스를 허가하지 않는다
public InputStream getResourceAsStream(String name)
ClassLoader.getSystemResourceAsStream(java.lang.String)
에 위양 됩니다.
위양의 전에, 이 알고리즘을 사용해 지정된 자원명으로부터 절대 자원명이 구축됩니다.
modified_package_name/name
여기서,modified_package_name 는, 「. 」( 「\u002e 」)을 「/」에 옮겨놓은 이 객체의 패키지명이 된다
name
- 요구되는 자원의 이름
InputStream
객체, 이 이름의 자원이 발견되지 않았던 경우는 null
NullPointerException
- name 가 null 의 경우public URL getResource(String name)
ClassLoader.getSystemResource(java.lang.String)
에 위양 됩니다.
위양의 전에, 이 알고리즘을 사용해 지정된 자원명으로부터 절대 자원명이 구축됩니다.
modified_package_name/name
여기서,modified_package_name 는, 「. 」( 「\u002e 」)을 「/」에 옮겨놓은 이 객체의 패키지명이 된다
name
- 요구되는 자원의 이름
URL
객체, 이 이름의 자원이 발견되지 않았던 경우는 nullpublic ProtectionDomain getProtectionDomain()
ProtectionDomain
를 돌려줍니다. 시큐리티 매니저가 인스톨 되고 있으면(자), 이 메소드는 우선 시큐리티 매니저의 checkPermission
메소드를 RuntimePermission("getProtectionDomain")
액세스권을 사용해 호출하는 것에 의해 ProtectionDomain
를 문제 없게 취득할 수 있는 것을 확인합니다.
SecurityException
- 시큐리티 매니저가 존재해, 그 checkPermission
메소드가 ProtectionDomain 의 취득을 허가하지 않는 경우ProtectionDomain
,
SecurityManager.checkPermission(java.security.Permission)
,
RuntimePermission
public boolean desiredAssertionStatus()
이것은 JRE 자체로 사용하기 위한 메소드이기 (위해)때문에, 프로그래머가 이 메소드를 필요로 하는 것은 거의 없습니다 (이 메소드에 의해, 초기화시에 선언이 유효한가 어떤가를 클래스를 판별할 수 있다). 지정된 클래스의 초기화시에, 이 메소드가, 클래스에 관련지을 수 있었던 실제의 선언 상태를 돌려준다고는 할 수 없는 것에 유의해 주세요.
ClassLoader.setClassAssertionStatus(java.lang.String, boolean)
,
ClassLoader.setPackageAssertionStatus(java.lang.String, boolean)
,
ClassLoader.setDefaultAssertionStatus(boolean)
public boolean isEnum()
public T [] getEnumConstants()
public T cast(Object obj)
obj
- 캐스트 되는 객체
ClassCastException
- 지정된 객체가 null 이외여, 형태 T 에 할당할 수 없는 경우public <U> Class <? extends U> asSubclass(Class <U> clazz)
이 메소드는, 받는 측의 Class 객체를 제한하는 API 에 건네주기 위해서(때문에), 클라이언트가 Class 객체의 형태를 네로우 변환할 필요가 있는 경우에 도움이 됩니다. (총칭형은 이레이쟈에 의해 구현되므로) 캐스트의 정확성을 실행시에 확인할 수 없기 때문에, 캐스트에 의해 컴파일시의 경고가 생성됩니다.
ClassCastException
- 이 Class 객체가 지정된 클래스의 서브 클래스를 나타내지 않는 경우 ( 「서브 클래스」는 클래스 자체를 포함한다)public <A extends Annotation > A getAnnotation(Class <A> annotationClass)
AnnotatedElement
의 기술:
AnnotatedElement
내의 getAnnotation
annotationClass
- 주석형에 대응하는 Class 객체
NullPointerException
- 지정된 주석 클래스가 null 의 경우public boolean isAnnotationPresent(Class <? extends Annotation > annotationClass)
AnnotatedElement
의 기술:
AnnotatedElement
내의 isAnnotationPresent
annotationClass
- 그렇지 않은 경우는 null 를 돌려줍니다. 주석형에 대응하는 Class 객체
NullPointerException
- 지정된 주석 클래스가 null 의 경우public Annotation [] getAnnotations()
AnnotatedElement
의 기술:
AnnotatedElement
내의 getAnnotations
public Annotation [] getDeclaredAnnotations()
AnnotatedElement
의 기술:
AnnotatedElement
내의 getDeclaredAnnotations
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.