內部類是指在一個外部類的內部再定義一個類。編譯成功,就會成爲徹底不一樣的兩類。微信
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,讓咱們一塊兒前進吧!!