前进吧蜗牛程序员

java内部类种类及其特点

2017-06-16  本文已影响141人  cobs

定义

内部类是指在一个外部类的内部再定义一个类。编译成功,就会成为完全不同的两类。

内部类有四种情况

例子

成员内部类

package innerclass;

public class innerOut {
   private int num = 12;
   
   class innerIn {
       private int num = 13;
       public void print() {
           int num = 14;
           System.out.println("局部变量:" + num);
           System.out.println("内部类变量:" + this.num);
           System.out.println("外部类变量:" + innerOut.this.num);
       }
   }
}

静态内部类

package innerclass;

public class Out {
    private static int age = 12;
    
    static class In {
        public void print() {
            System.out.println(age);
        }
    }
}

匿名内部类

package innerclass;

public class anonymityClass {
    //注意是final类型的
    public void startThread(final String name){
        new Thread(){
            @Override
            public void run(){
                System.out.println(name);
            }
        }.start();
    }
}

局部内部类

package innerclass;

public class methodInnerClass {
    private int num = 12;
     
    public void Print(final int x) {
        class In {
            public void inPrint() {
                System.out.println(x);
                System.out.println(num);
            }
        }
        new In().inPrint();
    }
}

内部类的特点总结

在方法间定义的非静态内部类:

在方法间定义的静态内部类:

在方法中定义的局部内部类:

在方法中定义的匿名内部类:


既然了解了内部类,大家可以想想,我们平时到底哪些用到了内部类,请留言到评论区哦,欢迎大家讨论!!简友们都太低调,都不愿评论!


上一篇文章 java 线程池使用和详解

如有什么不对的地方,欢迎大家指出来,我们共同学习!!

欢迎关注我的微信公众号cobs-snail,让我们一起前进吧!!

前进吧蜗牛
上一篇 下一篇

猜你喜欢

热点阅读