본문 바로가기

자바

class 클래스

예제)


import java.lang.reflect.Field;

import java.lang.reflect.Method;

import java.util.Scanner;


public class Test7 {

public static void main(String[] args) throws Exception {

// class 클래스 : 클래스에 대한 정보를 구하는 클래스

Scanner sc=new Scanner(System.in);

System.out.println("패키명을 포함 클래스명[java.lang.String]?");

String str=sc.next();

Class<?> cls=Class.forName(str);

// 슈퍼클래스

System.out.println(str+"클래스의 슈퍼클래스:"+cls.getSuperclass().getName());

// 구현된 인터페이스

Class<?> c[]=cls.getInterfaces();

if(c!=null){

System.out.println("\n구현된인터페이스....");

for(int i=0; i<c.length; i++){

System.out.println(c[i].getName());

}

}

//생성자

Class<?> co[]=cls.getInterfaces();

System.out.println("\n생성자...........");

for(int i =0; i<co.length; i++)

System.out.println(co[i]);

//모든필드

Field[] f=cls.getFields();

System.out.println("\n모든 필드...");

if(f!=null){

for(int i=0; i<f.length; i++)

System.out.println(f[i]);

}

// 클래스의 모든 메소드

Method m[]=cls.getMethods();

System.out.println("\n메소드...........");

for(int i =0; i<m.length; i++)

System.out.println(m[i]);

sc.close();

}

}


결과)   패키지명을 포함한 클래스명을 입력하면 해당 인터페이스 생성자 모든필드 메소드가 출력된다.


패키지명을 포함 클래스명[java.lang.String]?

java.lang.String

java.lang.String클래스의 슈퍼클래스:java.lang.Object


구현된인터페이스....

java.io.Serializable

java.lang.Comparable

java.lang.CharSequence


생성자...........

interface java.io.Serializable

interface java.lang.Comparable

interface java.lang.CharSequence


모든 필드...

public static final java.util.Comparator java.lang.String.CASE_INSENSITIVE_ORDER


메소드...........

public int java.lang.String.hashCode()

public boolean java.lang.String.equals(java.lang.Object)

public java.lang.String java.lang.String.toString()

public char java.lang.String.charAt(int)

public int java.lang.String.codePointAt(int)

public int java.lang.String.codePointBefore(int)

public int java.lang.String.codePointCount(int,int)

public int java.lang.String.compareTo(java.lang.Object)

public int java.lang.String.compareTo(java.lang.String)

public int java.lang.String.compareToIgnoreCase(java.lang.String)

public java.lang.String java.lang.String.concat(java.lang.String)

public boolean java.lang.String.contains(java.lang.CharSequence)

public boolean java.lang.String.contentEquals(java.lang.StringBuffer)

public boolean java.lang.String.contentEquals(java.lang.CharSequence)

public static java.lang.String java.lang.String.copyValueOf(char[])

public static java.lang.String java.lang.String.copyValueOf(char[],int,int)

public boolean java.lang.String.endsWith(java.lang.String)

public boolean java.lang.String.equalsIgnoreCase(java.lang.String)

public static java.lang.String java.lang.String.format(java.util.Locale,java.lang.String,java.lang.Object[])

public static java.lang.String java.lang.String.format(java.lang.String,java.lang.Object[])

public byte[] java.lang.String.getBytes(java.nio.charset.Charset)

public void java.lang.String.getBytes(int,int,byte[],int)

public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException

public byte[] java.lang.String.getBytes()

public void java.lang.String.getChars(int,int,char[],int)

public int java.lang.String.indexOf(int)

public int java.lang.String.indexOf(java.lang.String)

public int java.lang.String.indexOf(int,int)

public int java.lang.String.indexOf(java.lang.String,int)

public native java.lang.String java.lang.String.intern()

public boolean java.lang.String.isEmpty()

public int java.lang.String.lastIndexOf(int,int)

public int java.lang.String.lastIndexOf(java.lang.String,int)

public int java.lang.String.lastIndexOf(java.lang.String)

public int java.lang.String.lastIndexOf(int)

public int java.lang.String.length()

public boolean java.lang.String.matches(java.lang.String)

public int java.lang.String.offsetByCodePoints(int,int)

public boolean java.lang.String.regionMatches(int,java.lang.String,int,int)

public boolean java.lang.String.regionMatches(boolean,int,java.lang.String,int,int)

public java.lang.String java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence)

public java.lang.String java.lang.String.replace(char,char)

public java.lang.String java.lang.String.replaceAll(java.lang.String,java.lang.String)

public java.lang.String java.lang.String.replaceFirst(java.lang.String,java.lang.String)

public java.lang.String[] java.lang.String.split(java.lang.String)

public java.lang.String[] java.lang.String.split(java.lang.String,int)

public boolean java.lang.String.startsWith(java.lang.String)

public boolean java.lang.String.startsWith(java.lang.String,int)

public java.lang.CharSequence java.lang.String.subSequence(int,int)

public java.lang.String java.lang.String.substring(int)

public java.lang.String java.lang.String.substring(int,int)

public char[] java.lang.String.toCharArray()

public java.lang.String java.lang.String.toLowerCase()

public java.lang.String java.lang.String.toLowerCase(java.util.Locale)

public java.lang.String java.lang.String.toUpperCase()

public java.lang.String java.lang.String.toUpperCase(java.util.Locale)

public java.lang.String java.lang.String.trim()

public static java.lang.String java.lang.String.valueOf(float)

public static java.lang.String java.lang.String.valueOf(double)

public static java.lang.String java.lang.String.valueOf(boolean)

public static java.lang.String java.lang.String.valueOf(char[],int,int)

public static java.lang.String java.lang.String.valueOf(char[])

public static java.lang.String java.lang.String.valueOf(long)

public static java.lang.String java.lang.String.valueOf(int)

public static java.lang.String java.lang.String.valueOf(char)

public static java.lang.String java.lang.String.valueOf(java.lang.Object)

public final native java.lang.Class java.lang.Object.getClass()

public final native void java.lang.Object.notify()

public final native void java.lang.Object.notifyAll()

public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException

public final void java.lang.Object.wait() throws java.lang.InterruptedException

public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException


=========================================================================================================================================

예제2)


public class Test8 {

public static void main(String[] args)throws Exception {

// Demo8 ob=new Demo8(); // 지금까지 사용했던 정적 객체생성

String str="com.test0523.Demo8";

//클래스의 정보를 구하기 위한 class 객체 생성

Class<?> cls=Class.forName(str); // 모든값을 다 받는 <?>  // <?> 생략해도 된다.

// Class 클래스 객체를 이용한 객체 생성

Object ob=cls.newInstance();

// 다운 캐스팅

Demo8 oo=(Demo8)ob;

oo.print();

}

}


class Demo8{

int a=10;

public void print() {

System.out.println(a);

}

}


예제2 결과)


10

'자바' 카테고리의 다른 글

재미있는 예제  (0) 2013.05.28
checked Exception  (0) 2013.05.28
unchecked exception  (0) 2013.05.28
replaceAll의 알고리즘  (0) 2013.05.25
자바 패턴매칭  (0) 2013.05.24