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();
}
原文:https://www.cnblogs.com/lorz5-blog/p/12446114.html