多型匿名內部類常見問題

2021-10-04 10:04:55 字數 713 閱讀 3866

1.多型

(1)成員變數,編譯看父類,執行看父類

(2)成員方法,編譯看父類,執行看子類

public class test 

}class fu

}class zi extends fu

}

列印:

10子

2.內部類

(1)在內部類中訪問外部類的成員變數 外部類名.this.變數名

public class test 

}class fu

class inside

}}

列印

10

(2)匿名內部類中訪問了外部變數,外部變數會被final修飾,不能被修改

例如:

public class test 

}.show();

}}inte***ce aa

在上述**中 new aa(){}建立了乙個匿名內部類物件,同時訪問了外部變數a,故a的值不能被修改,但是a被賦值了兩次,故會報錯。

補充:如果a使成員變數是不會報錯的,區域性變數才會報錯,**如下:

public class test 

}.show();

}}inte***ce aa```

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 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...