import java.lang.reflect.*;
import java.util.Arrays;
import java.util.Comparator;

class Rekening {
    public static final String BANK = "Bank Nusantara";
    private long saldo;
    protected String pemilik;

    public Rekening(String pemilik, long saldo) {
        this.pemilik = pemilik;
        this.saldo = saldo;
    }

    public long bacaSaldo() {
        return saldo;
    }

    private void geserSaldo(long delta) {
        saldo += delta;
    }
}

public class InspeksiAnggota {
    public static void main(String[] args) {
        Class<?> c = Rekening.class;

        System.out.println("Field milik Rekening:");
        Field[] field = c.getDeclaredFields();
        Arrays.sort(field, Comparator.comparing(Field::getName));
        for (Field f : field) {
            System.out.println("  " + Modifier.toString(f.getModifiers()) + " "
                    + f.getType().getSimpleName() + " " + f.getName());
        }

        System.out.println("Method milik Rekening:");
        Method[] method = c.getDeclaredMethods();
        Arrays.sort(method, Comparator.comparing(Method::getName));
        for (Method m : method) {
            System.out.println("  " + Modifier.toString(m.getModifiers()) + " "
                    + m.getReturnType().getSimpleName() + " " + m.getName() + "()");
        }
    }
}
