本文主要对 “静态内部类” 与 “外部类” 之间的相互调用 进行适当的实例+测试
一,代码
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 【一般类的一般方法】 调用静态内部类 中,非静态方法。——————可行!!!
