外部类、内部类、局部内部类、匿名类(Java)

代码一:

public class Application {
public static void main(String[] args) {
Outer outer=new Outer();
//使用内部类
//通过这个外部类来实例化内部类
Outer.Inner01 inner01=outer.new Inner01();
outer.out();
inner01.in();
inner01.getID();
}
}

代码二:

public class Outer {
private int id=99;
public void out(){ System.out.println("这是外部类的方法"); }

public class Inner01{
public void in(){
System.out.println("这是内部类的方法");
}

//获得外部类的私有属性
//加上static( public static class Inner)之后 这个id就拿不到了
//若想要拿到 则 private static int id=99;即可
public void getID(){
System.out.println(id);
}

//局部内部类
public void method(){
class Inner02{
public void in(){

}
}
}
}
}

//一个java类中 可以有多个class类
//但是只能有一个public class类
class A{
public static void main(String[] args) {
System.out.println("你好");
}

}

Test:

public class Test {
public static void main(String[] args) {

//匿名类
//没有名字初始化类 ,不用将实例保存到变量中
new Apple().eat();

//Apple apple=new Apple(); new一个实例化对象

UserService userservice=new UserService(){
//没有名字初始化 需要重写
@Override
public void Hello() {

}
};
}

}

class Apple{
public void eat(){
System.out.println("Apple");
}

}
interface UserService{
void Hello();
}