可以在乙個方法裡面或者在任意的作用域內定義內部類。這麼做有兩個理由。
1)你實現了某型別的介面,於是可以建立並返回對其的引用。
2)你要解決乙個複雜的問題,想建立乙個類來輔助你的方案,但是又不希望這個類是公共可用的。
第乙個例子展示了在方法的作用域內(而不是其他類的作用域內)建立乙個完整的類。這被稱作區域性內部類:
//:nesting a class within a method
public class parcel5
public string readlabel()
}return new pdestination(s);
}public static void main(string args)
}
pdestination類是的destination()方法的一部分,而不是parcel5的一部分。所以,在destination()之外不能訪問pdestination.注意出現在return語句中的轉型----返回的是destination的引用,它是pdestination的基類。
下面的例子展示了如何在任意的作用域內嵌入乙個內部類
public class parcel6
string getslip()
}tackingslip ts = new trackingslip("slip");
string s = ts.getslip();
}//cannot use it here! out of scope
}public void track()
public static void main(string args)
}
trackingslip類被嵌入在if語句的作用域內,這並不是說該類的建立是有條件的,它其實與別的類一起編譯過了。然而,在定義trackingslip的作用域外,它是不可用的。除此之外,它與普通的類一樣。
JAVA中的內部類 方法內部類
方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。下邊的例子 外部類 public class helloworld 建立方法內部類的物件 min...
有名內部類和匿名內部類的用法
1 分類 有名內部類分為靜態的和非靜態的 2 用法 public class test 有名靜態內部類 static class tt public static void main string args 1 定義 沒有名字的類,不能單獨存在 2 用法 一定和創造物件一起存在 建立方法 new 父...
內部類和外部類方法間的互相呼叫
內部類呼叫外部類的方法 外部呼叫內部類的方法1.使用static可以宣告乙個內部類,可以直接在外部呼叫 定義外部類 public class outer 使用static定義內部類 static class inner public class test 2.不使用statc宣告乙個內部類 使外部呼...