內部類和外部類之間互相訪問

2021-07-04 11:55:06 字數 869 閱讀 9279

內部類與外部類之間的成員互相訪問 

內部類可以訪問外部類的任何成員,包括private成員。 

外部類訪問內部類的成員需要建立內部類的物件,之後可以訪問內部類的任何成員,包括private成員,需要注意的是成員內部類不可以有靜態成員。 

當外部類的成員和內部類的成員重名時單單用this是區分不了的。在內部類中訪問外部類的成員時可以用如下語法區分 

《外部類類名》.this.《外部類中需要被訪問的成員名》;

1、普通內部類

package com;

public class outer

public void outer_f2()

// 成員內部類中,不能定義靜態成員

// 成員內部類中,可以訪問外部類的所有成員

class inner

}// 外部類的非靜態方法訪問成員內部類方法

public void outer_f3()

// 外部類的靜態方法訪問成員內部類方法

public static void outer_f4()

public static void main(string args)

}

2、靜態內部類

靜態內部類只

能訪問外部類的靜態成員(變數和方法)

在外部例項化內部類

inner inner = new inner();

3、普通內部類

在外部例項化內部類

非靜態方法:

inner inner = new inner();

靜態方法:

outer out = new outer();

inner inner = out.new inner();

內部類 和外部類之間的訪問關係

外部類和內部類的訪問 1成員內部類可以無條件訪問外部類的所有成員屬性和成員方法 包括private成員和靜態成員 2.外部類訪問內部類 首先,要有內部類的物件 但是內部類是依附於外部類存在的 所以,先要建立外部類的物件。方式如下 內部類之間的訪問 非靜態內部類呼叫非靜態內部類 直接呼叫new類 非靜...

內部類和外部類之間的引用

內部類 靜態內部類中可以有非靜態的方法 當內部類中有靜態方法或者靜態成員變數時,一定是靜態內部類 一般內部類在外部類的成員變數位置,像這樣 1 public class outer 5 1 外部類訪問內部類 內部類被static修飾 可以直接new inner in new inner 內部類沒有被...

內部類和外部類方法間的互相呼叫

內部類呼叫外部類的方法 外部呼叫內部類的方法1.使用static可以宣告乙個內部類,可以直接在外部呼叫 定義外部類 public class outer 使用static定義內部類 static class inner public class test 2.不使用statc宣告乙個內部類 使外部呼...