package com.shrimpking.t5;
/**
* Created by IntelliJ IDEA.
*
* @Author : Shrimpking
* @create 2024/9/12 15:45
*/
public class MyClass
{
public int pubField;
protected int proField;
private int priField;
public MyClass(){}
public MyClass(int a){}
public MyClass(int a,int b){}
public MyClass(int a,int b,int c){}
public void pubMethod(){}
protected void proMethod(){}
void defMethod(){}
private void priMethod(){}
public static void staticMethod(){}
}
package com.shrimpking.t5;
/**
* Created by IntelliJ IDEA.
*
* @Author : Shrimpking
* @create 2024/9/12 15:49
*/
public interface MyInterface
{
float pi = 3.14f;
void fun();
default void defFunc(){}
static void staticFunc(){}
// private void priFunc(){}
}
package com.shrimpking.t5;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* Created by IntelliJ IDEA.
*
* @Author : Shrimpking
* @create 2024/9/12 15:50
*/
public class ClassInfo
{
public static void main(String[] args)
{
Class clz = MyClass.class;
System.out.println("Fields:");
//获取公共字段
for (Field f : clz.getFields()){
System.out.println(f);
}
System.out.println("----");
System.out.println("Constructors:");
//获取所有声明的构造器
for (Constructor c: clz.getDeclaredConstructors()){
System.out.println(c);
}
System.out.println("----");
System.out.println("Methods:");
//获取公共方法,包含Object继承的公共方法
for (Method m : clz.getMethods()){
System.out.println(m);
}
System.out.println("----");
clz = MyInterface.class;
System.out.println("Interface Method:");
for (Method m : clz.getMethods()){
System.out.println(m);
}
}
}