Class
Class
public class Car
{
	private String maker;

	public Car(String c)
	{
		maker = c;
	}

	public String toString()
	{
		return "Car: "+maker;
	}
}
			
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Constructor;

public class C
{
	public static void main(String args[]) throws ClassNotFoundException
	{
		//create class objects
		Class c1 = Class.forName("java.lang.String");

		Car car = new Car("Buick");
		Class c2 = Car.class;

		Class c3 = car.getClass();

		//toString
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);

		//isInstance
		System.out.println(c1.isInstance("Hello World!"));//true
		System.out.println(c2.isInstance(new Car("Buick")));//true

		//isInterface
		Class c4 = Class.forName("java.lang.Runnable");//true
		System.out.println(c4.isInterface());

		//isPrimitive
		int i = 10;
		Integer i2 = new Integer(100);
		System.out.println((int.class).isPrimitive());//true
		System.out.println(i2.getClass().isPrimitive());//false

		//isArray
		int array[] = new int[10];
		System.out.println(array.getClass().isArray());//true

		//getName
		System.out.println(c1.getName());

		//getSuperclass
		Class c5 = c1.getSuperclass();
		System.out.println(c5);

		//getPackage
		System.out.println(c1.getPackage());

		//getFields
		Field f[] = (Math.class).getFields();
		for(Field e: f)
			System.out.println(e);

		//getMethods
		Method m[] = c2.getMethods();
		for(Method e : m)
			System.out.println(e);

		//getConstructors
		Constructor c[] = c2.getConstructors();
		for(Constructor e : c)
			System.out.println(e);
	}
}
			
Reference