关于java中的一些内部类
java中的一些内部类
一、成员内部类
public class A {
private int id = 1;
public class B {
public void print_in(){
System.out.println("这是内部类的方法");
}
public void getId(){
// 内部类可以访问外部类的属性和方法
System.out.println("id:" + id);
}
}
public static void main(String[] args) {
// 实例化外部类
A aa = new A();
// 实例化内部类
A.B bb = aa.new B();
}
}
二、静态内部类
public class A {
private int id = 1;
// 静态内部类,在编译的同时首先实例化
public static class B {
public void print_in(){
System.out.println("这是内部类的方法");
}
public void getId(){
// 静态内部类不可以访问外部类的非静态属性和非静态方法
System.out.println("id:" + id); // error
}
}
}
一个java类中允许有多个内部类,但是public只能有一个
三、局部内部类
public class A {
private int id = 1;
public void method(){
// 局部内部类
class In {
public void print_in(){
System.out.println("这是内部类的方法");
}
}
}
}
四、匿名内部类
/*
匿名内部类既没有名字的内部类
*/
public class A {
public static void main(String[] args){
// 实例化一个没有名字的内部类
person Json = new person() {
// 重写接口中的方法
public void run() {
System.out.println("Runing");
}
}
}
}
interface person {
void run();
}
默默努力也能成为一个不输别人的人

浙公网安备 33010602011771号