內部類 內部類的訪問 匿名內部類

2021-06-26 01:13:59 字數 3306 閱讀 6200

內部類

將乙個類定義在另乙個類的裡面,對立面那個類就成為內部類(內建類,巢狀類)

定義:當描述事物時,事物的內部還有事物,該事物用內部類來描述。

因為內部事務在使用外部事物的內容。

舉例子心臟

內部類的訪問規則

1內部類可以直接訪問外部類中的成員,包括私有。

之所以可以直接訪問外部類的成員 ,因為內部類中持有乙個外部類的引用。

格式: 外部類名.this。

2外部類要訪問內部類,必須建立內部類物件。

class outer	}	

void method() }

class test

}

內部類訪問外部類 格式:外部類名.this

class outer

}

內部類在成員位置上

1內部類定義 在 外部類 成員位置上,且非私有,

外部其他類中

可以直接建立內部類物件

外部類名.內部類名  變數名=外部類物件.內部類物件

outer是外部類,inner是非靜態內部類。

outer.inner  in = new  outer().new inner();

2內部類在成員位置,可以被成員修飾符修飾

private: 將內部類在外部類中進行封裝;

static :  內部類就具備了static的特性。

static class inner{}

當內部類被static修飾後,只能直接訪問外部類中的被static修飾的成員。

在外部其他類中,直接訪問靜態內部類的非靜態成員。

outer是外部類,inner是靜態內部類 。

outer.inner in = new outer.inner.function();

3 當內部類中成員定義了static,該類也必須被static修飾。

4當外部類中的static成員訪問內部類中的成員時,內部類必須也是static。

class outer	}}

class test

}

在外部其他類中,直接訪問靜態內部類的靜態成員。

class outer	}}

class test

}

當描述事物時,事物的內部還有事物,該事物用內部類來描述。

因為內部事務在使用外部事物的內容。

class body

public void show()}

內部類定義在區域性時

1.不可以被成員修飾符修飾。 static public private 

2.可以直接訪問外部類成員,因為還持有外部類中的引用。

**但是不可以直接訪問所在的區域性中的變數,只能訪問被final修飾的區域性變數。

內部類的呼叫  

不可以被成員修飾符修飾。 static public private

class outer

}new inner().function(); //只有先載入完inner,才能new物件 }}

class test

}

不可以訪問它所在的區域性中的變數,只能訪問被final修飾的區域性變數。

class outer

}new inner().function(); }}

class test

}

匿名內部類

1.匿名內部類是內部類的簡寫格式。

2.定義匿名內部類的前提:

內部類必須是繼承乙個類或者實現介面。

3.匿名內部類的格式:

new 父類或者介面()

4.其實匿名內部類就是乙個匿名子類物件。

這個物件有點胖。可以理解為帶內容的物件。

5匿名內部類中定義的方法最好不要超過3個。

abstract class absdemo

class outer

} public void function() }

class test

}

匿名子類物件的建立如下

abstract class absdemo

class outer

}.show(); //呼叫匿名內部類 }}

class test

}

匿名內部類命名

abstract class absdemo

class outer

void abs()

}d.show(); //可以呼叫,父類有abs();

//呼叫失敗。父類沒有abs();

}}

聯絡
inte***ce inter

class test }

static inter function() }

class innerclasstest

}//-----------匿名內部類 後如下----------------

inte***ce inter

class test

} }}class innerclasstest

}

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

package org.lgy.study.innerclass public class anonymoustest public static void main string args public string getname public double getprice inte ce p...