| Refresh | Home EGTry.com


FieldsMain.java

package serialization;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

public class FieldsMain {

	public static void main(String[] args) throws Exception {
		
		SubClass subClass=new SubClass();
		Field[] ownFields=SubClass.class.getDeclaredFields();
	
		for(Field f: ownFields) {
			try {
				String name=f.getName();
				Object val=f.get(subClass);
				int modifier=f.getModifiers();
				if ( (modifier & Modifier.STATIC)==Modifier.STATIC) {
					System.out.print("static: ");
				}
				System.out.println(name+" => "+val);
			} catch (Exception e) {
				
			}
		}
		
		System.out.println("\n");
		
		Class superClass=SubClass.class.getSuperclass();
		Field[] superFields=superClass.getDeclaredFields();
		
		for(Field f: superFields) {
			try {
				String name=f.getName();
				Object val=f.get(subClass);
				int modifier=f.getModifiers();
				if ( (modifier & Modifier.STATIC)==Modifier.STATIC) {
					System.out.print("static: ");
				}
				System.out.println(name+" => "+val);
			} catch (Exception e) {
				
			}
		}
		
	}
	
	
}

class SuperClass {
	public static String superStatic="static field in superclass";
	public int publicInt=1;
	protected int protectedInt=2;
	private int privateInt=3;
}

class SubClass extends SuperClass {
	public String publicString="public";
	public static String staticString="static String";
	protected String protectedString="protected";
	private String privateString="private";
}