内部类是指在一个外部类的内部再定义一个类。编译成功,就会成为彻底不一样的两类。微信
new Thread(){ @Override public void run(){ System.out.println(name); } }.start();
例子ide
成员内部类this
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); } } }
匿名内部类code
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(); } }
在方法间定义的非静态内部类:作用域
在方法间定义的静态内部类:it
在方法中定义的局部内部类:编译
在方法中定义的匿名内部类:class
既然了解了内部类,你们能够想一想,咱们平时到底哪些用到了内部类,请留言到评论区哦,欢迎你们讨论!!
欢迎关注个人微信公众号cobs-snail,让咱们一块儿前进吧!!