內部類和外部類
阿新 • • 發佈:2018-12-26
關於內、外部類可能有很多人會不清楚,這一篇主要是講解內部類的問題:
內部類
在一個類的內部定義的類,叫內部類,包含內部類的類叫外部類
1、內部類可以宣告為public、private、protected、預設
2、內部類可以申明為static
內部類可以直接呼叫外部類的所有方法以及屬性(不管是不是private),外部類也可以直接呼叫內部類的屬性和方法
如:InnerClass是定義在OutterClass內部的類
public class OutterClass {
private int t = 100;
private InnerClass inner;
private void test() {
System.out.println(t);
inner = new InnerClass();
//呼叫內部類的屬性和方法
inner.name = "Hello";
inner.testIn();
}
外部類
/** * 定義在其他類內部的類,就叫外部類 * * @author 卻是凡 */ private class InnerClass { private String name; private int t = 10; private void abc() { System.out.println("inner class"+OutterClass.this.t); } private void testIn(){ //呼叫外部類的方法 test(); } }
注意:如果內部類中存在屬性和外部類屬性一樣的情況,內部類需要呼叫外部類的屬性需要在屬性前加上 外部類.this
OutterClass.this.t
以上就是關於內和外部類的詳細解析。