靜態(tài)內(nèi)部類(lèi)的使用
/**
* 測(cè)試靜態(tài)內(nèi)部類(lèi)的使用
*/
public class Outer2 {
? ?public int age = 10;
? ?public static int speed = 20;
? ?public static String name = "aa";
? ?public int money = 100;
? ?public static class Inner2{
? ? ? ?//添加static修飾變成靜態(tài)內(nèi)部類(lèi)
? ? ? ?public int age = 20;
? ? ? ?public int speed = Outer2.speed + 10;
? ? ? ?//靜態(tài)變量speed屬于類(lèi) 不用加this.
? ? ? ?public void pr(){
? ? ? ? ? ?System.out.println(speed);
? ? ? ? ? ?System.out.println("Inner2.pr");
? ? ? ? ? ?System.out.println(Outer2.speed);
? ? ? ? ? ?//無(wú)法調(diào)用Outer2.age 靜態(tài)內(nèi)部類(lèi)中只能調(diào)用外部類(lèi)的靜態(tài)內(nèi)容
? ? ? ? ? ?System.out.println(name);
? ? ? ? ? ?//內(nèi)部類(lèi)中沒(méi)有定義name時(shí)會(huì)調(diào)用Outer2.name
? ? ? ?}
? ?}
}
class TestInner2{
? ?public static void main(String[] args) {
? ? ? ?Outer2 o2 = new Outer2();
? ? ? ?Outer2.Inner2 i2 = new Outer2.Inner2();
? ? ? ?//靜態(tài)內(nèi)部類(lèi)通過(guò)外部類(lèi)調(diào)用 不通過(guò)外部類(lèi)的對(duì)象
? ? ? ?i2.pr();
? ? ? ?//Inner2是static 但I(xiàn)nner2內(nèi)的age speed是成員變量 pr()是非靜態(tài)方法 都屬于對(duì)象
? ?}
}