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