本文主要对 “静态内部类” 与 “外部类” 之间的相互调用 进行适当的实例+测试
一,代码
package com.wqb.staticclass; public class TestMain { public static void mainString[] args) { OutsideClass.InsideClass.staticMethod"OutsideClass.InsideClass.staticMethodmethodName)"); new OutsideClass).outsideMethod"【一般类的非静态方法】 调用"); new OutsideClass.InsideClass); new OutsideClass.InsideClass).insideMethod"【一般类的静态方法】 调用"); new TestMain).test); } public void test){ OutsideClass.InsideClass.staticMethodnew String"test)")); new OutsideClass.InsideClass).insideMethod"【一般类的一般方法】 调用"); } } class OutsideClass{ static class InsideClass{ // 静态内部类的构造方法 public InsideClass){ System.out.println"静态内部类的【构造函数】"); } public static void staticMethodString methodName){ System.out.printlnmethodName + "调用静态内部类 的 静态方法。——————可行!!!"); new OutsideClass).outsideMethod"【静态内部类 的 静态方法】 调用"); new OutsideClass.InsideClass).insideMethod"【静态内部类 的 静态方法】 调用"); } public void insideMethodString who){ System.out.printlnwho + "静态内部类 中,非静态方法。——————可行!!!"); } } public void outsideMethodString who){ System.out.printlnwho + "外部类 的 非静态方法。——————可行!!!"); } }
二、运行结果
1 OutsideClass.InsideClass.staticMethodmethodName)调用静态内部类 的 静态方法。——————可行!!! 2 【静态内部类 的 静态方法】 调用外部类 的 非静态方法。——————可行!!! 3 静态内部类的【构造函数】 4 【静态内部类 的 静态方法】 调用静态内部类 中,非静态方法。——————可行!!! 5 【一般类的静态方法】 调用外部类 的 非静态方法。——————可行!!! 6 静态内部类的【构造函数】 7 静态内部类的【构造函数】 8 【一般类的静态方法】 调用静态内部类 中,非静态方法。——————可行!!! 9 test)调用静态内部类 的 静态方法。——————可行!!! 10 【静态内部类 的 静态方法】 调用外部类 的 非静态方法。——————可行!!! 11 静态内部类的【构造函数】 12 【静态内部类 的 静态方法】 调用静态内部类 中,非静态方法。——————可行!!! 13 静态内部类的【构造函数】 14 【一般类的一般方法】 调用静态内部类 中,非静态方法。——————可行!!!