1. 程式人生 > >內部類和外部類

內部類和外部類

關於內、外部類可能有很多人會不清楚,這一篇主要是講解內部類的問題:

內部類

在一個類的內部定義的類,叫內部類,包含內部類的類叫外部類

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

以上就是關於內和外部類的詳細解析。