📄 j02080704.java
字号:
import java.lang.*;
class j02080704
{
public static void main(String[] para)
{
B.BB1 BB1Obj = new B.BB1(100);
BB1Obj.showAA1();
System.out.println("=========================");
B.BB1 BB2Obj = B.getNewBB1Obj(199);
BB1Obj.showAA1();
}
}
class A
{
String theName = "A 类" ;
static int testVar = 100;
public static class AA1
{
static String innerName = "AA1 类";
public static void showAA1()
{
System.out.println(innerName);
}
public void showOuter()
{
System.out.println(testVar); //可直接使用外围类 static 的成员
//System.out.println(theName); //错误,不能直接使用外围类非 static 的成员
}
}
public class AA2
{
//非 static 嵌套类不能有 static 成员
String innerName = "AA2类";
public void showAA2()
{
System.out.println(innerName);
}
public void showOuter()
{
System.out.println(testVar); //可直接使用外围类的 static 成员
System.out.println(theName); //可直接使用外围类的非 static 成员
}
}
} //A类的结尾
class B extends A
{
static class BB1 extends AA1
{
static String innerName = "AA2 类";
public BB1(){} //保留缺省构造子
public BB1(int Var)
{
testVar = Var; //设定 A.testVar 之值
}
public static void showAA1()
{
AA1.showAA1();
System.out.println(innerName); //使用自己的 static 成员
System.out.println("A.testVar = " + testVar);
//可直接使用外围类 B 之父类 A 的 static 成员,且可省略「A.」
//System.out.println(theName); //错误,不能直接使用 A 的非 static 成员,需建立 A 对象
}
}
class BB2 extends AA2
{ //也可以继承 static 的 AA1 类
public void showAName()
{
theName = "A 类 -- New Name";
System.out.println(theName);
//可直接使用外围类 B 之父类 A 的非 static 成员,且可省略「A.」
}
}
class CC extends BB1
{ //非 static 嵌套类可继承 static 嵌套类
}
/*==错误,static 嵌套类不能继承非 static 嵌套类==
static class DD extends BB
{
}====================================================*/
public static BB1 getNewBB1Obj(int Var)
{
BB1 obj = new BB1(Var);
return obj;
}
} //B类的结尾
class C extends A.AA1
{ //可继承 static 嵌套类
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -