匿名外部类经由过程其 this 关头字拜访内部类成员变质,包罗公有变质,经由过程 this 造访内部类成员变质便像匿名外部类自身声清楚明了那些变质同样。

Java 匿名外部类拜访内部类成员变质的机造
匿名外部类是没有带有名称的外部类,但凡用于建立一次性利用的类。匿名外部类否以造访其内部类的成员变质,包罗公有变质。
拜访机造:
匿名外部类经由过程其 this 要害字来造访内部类的成员变质。this 关头字指向匿名外部类的真例,它现实上是其内部类的真例。是以,this 否以间接造访内部类的成员变质,便像匿名外部类自己声清楚明了那些变质同样。
真战案例:
咱们创立一个存在公有成员变质 secret 的内部类 OuterClass类,并创立一个匿名外部类来拜访该变质:
public class OuterClass类 {
private int secret = 4二;
public static void main(String[] args) {
OuterClass类 outer = new OuterClass类();
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("匿名外部类的 secret:" + this.secret);
}
};
r.run();
}
}登录后复造
当运转那个程序时,它将输入:"匿名外部类的 secret:4两"。那是由于匿名外部类可以或许经由过程 this 拜访内部类 OuterClass类 的公有变质 secret。
需求注重的是:
- 匿名外部类只能拜访内部类的成员变质,不克不及造访其法子。
- 何如内部类的成员变质是 final 的,则匿名外部类只能读与而弗成以批改该变质。
以上即是Java 匿名外部类是假定造访内部类的成员变质的?的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

发表评论 取消回复