⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 innertest.java

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 JAVA
字号:
/** * Test for Inner classes and related methods in class Class. * * @author Edouard G. Parmelan <egp@free.fr> */import java.lang.reflect.Modifier;/** * Super class of InnerTest that define some inner classes and interfaces. */class InnerBase{    private class privateInstanceClass    {	public void run() {	    System.out.println ("InnerBase.privateInstanceClass");	}	public void start() { run(); }    }    private static class privateStaticClass    {	public void run() {	    System.out.println ("InnerBase.privatStaticClass");	}	public void start() { run(); }    }    protected class protectedInstanceClass    {	public void run() {	    System.out.println ("InnerBase.protectedInstanceClass");	}	public void start() { run(); }    }    protected static class protectedStaticClass    {	public void run() {	    System.out.println ("InnerBase.privatStaticClass");	}	public void start() { run(); }    }    public class publicInstanceClass    {	public void run() {	    System.out.println ("InnerBase.publicStaticClass");	}	public void start() { run(); }    }    public static class publicStaticClass    {	public void run() {	    System.out.println ("InnerBase.publicStaticClass");	}	public void start() { run(); }    }    public static interface publicStaticInterface    {	public void run();    }    public interface publicInstanceInterface    {	public void run();    }}public class InnerTest    extends InnerBase{    public static class Inner    {    }    private static void printClass(String prefix, Class clazz)    {	if (clazz == null) {	    System.out.println (prefix + "<null>");	}	else {	    int mods = clazz.getModifiers();	    System.out.println (prefix + clazz + " [" + Integer.toString(mods, 16) + "] " + Modifier.toString (mods));	}    }    private static void printClasses(String prefix, Class[] classes)    {	if (classes.length == 0) {	    System.out.println (prefix + "<empty>");	}	for (int i = classes.length; i-- > 0; ) {	    printClass (prefix, classes[i]);	}    }    public static void main(String args[])    {	if (args.length == 0) {	    args = new String[] { "java.lang.Object", "InnerBase", "InnerTest" };	}	for (int i = 0; i < args.length; i++) {	    String name = args[i];	    if (name.endsWith (".class")) {		name = name.substring (0, name.length() - 6);	    }	    try {		Class clazz = Class.forName (name);		printClass (name + ": declaring: ", clazz.getDeclaringClass());		printClasses (name + ": declared: ", clazz.getDeclaredClasses());		printClasses (name + ": get: ", clazz.getClasses());	    }	    catch (Throwable t) {		t.printStackTrace(System.out);	    }	}    }    void useAnonymous()    {	new protectedInstanceClass() { public void run() {} }.start();	new protectedStaticClass() { public void run() {} }.start();	new publicInstanceClass() { public void run() {} }.start();	new publicStaticClass() { public void run() {} }.start();    }}// Sort output/* Expected Output:InnerBase: declared: class InnerBase$privateInstanceClass [2] privateInnerBase: declared: class InnerBase$privateStaticClass [a] private staticInnerBase: declared: class InnerBase$protectedInstanceClass [4] protectedInnerBase: declared: class InnerBase$protectedStaticClass [c] protected staticInnerBase: declared: class InnerBase$publicInstanceClass [1] publicInnerBase: declared: class InnerBase$publicStaticClass [9] public staticInnerBase: declared: interface InnerBase$publicInstanceInterface [609] public abstract static interfaceInnerBase: declared: interface InnerBase$publicStaticInterface [609] public abstract static interfaceInnerBase: declaring: <null>InnerBase: get: class InnerBase$publicInstanceClass [1] publicInnerBase: get: class InnerBase$publicStaticClass [9] public staticInnerBase: get: interface InnerBase$publicInstanceInterface [609] public abstract static interfaceInnerBase: get: interface InnerBase$publicStaticInterface [609] public abstract static interfaceInnerTest: declared: class InnerTest$1 [10] finalInnerTest: declared: class InnerTest$2 [10] finalInnerTest: declared: class InnerTest$3 [10] finalInnerTest: declared: class InnerTest$4 [10] finalInnerTest: declared: class InnerTest$Inner [9] public staticInnerTest: declaring: <null>InnerTest: get: class InnerBase$publicInstanceClass [1] publicInnerTest: get: class InnerBase$publicStaticClass [9] public staticInnerTest: get: class InnerTest$Inner [9] public staticInnerTest: get: interface InnerBase$publicInstanceInterface [609] public abstract static interfaceInnerTest: get: interface InnerBase$publicStaticInterface [609] public abstract static interfacejava.lang.Object: declared: <empty>java.lang.Object: declaring: <null>java.lang.Object: get: <empty>*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -