内部类.Java学习

今天复习一下Java里面一个比较重要的概念  内部类

 局部内部类

  1. 内部类是定义在一个类的内部。通常是在方法中。
  2. 本质还是一个类,可以访问外部类的所有成员,包含私有的。
  3. 不能使用访问修饰符。但是可以使用final修饰符。
  4. 作用域尽在定义它的方法或者代码块中。
  5. 外部其他类不能访问局部内部类(因为局部内部类的地位就是衣个局部变量)。
  6. 如果外部类和局部类的成员变量重名。遵守就近原则。如果要访问外部类变量。 可以通过 类型.this.成员 去访问。

匿名内部类

  1. 该类没有名字。
  2. 是一个对象。
  3. 定义外部类的局部位置,比如方法中,并且没有类名。(系统底层会分配一个类型)。
  4.  匿名内部类使用一次就没了(生成的对象是可以多次使用)。
  5. 匿名内部类是为了简化开发。

 

 1 package anonymous;
 2 
 3 public class InnerClass {
 4     public static void main(String[] args) {
 5         new Test().run();
 6     }
 7 }
 8 
 9 
10 class Test {
11 
12     public void run() {
13         Animal dog = new Animal() {
14             @Override
15             public void Say() {
16                 System.out.println("小狗汪汪");
17                 System.out.println(this.getClass());
18             }
19         };
20         dog.Say();
21     }
22 }
23 
24 
25 interface Animal {
26     void Say();
27 }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 内部类.Java学习