内部类
- 内部类就是在一个类的内部再定义一个类。比如,A类中定义一个B类,B类相对于A来说就是内部类,A类对B类来说就是外部类
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
1.成员内部类
(1)外部类和内部类的创建
//外部类
public class Outer {
private int id ;
public void out(){
System.out.println("这是外部类的方法");
}
//内部类
class Inner{
public void in(){
System.out.println("这是内部类的方法");
}
}
}
内部类的实例化
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
//通过这个外部类来实例化这个内部类
Outer.Inner inner = outer.new Inner();
inner.in();
}
}
运行结果
(2)内部类可以获得外部类的私有属性
//外部类
public class Outer {
private int id = 10 ;
//内部类
class Inner{
//获得外部类的私有属性
public void getID(){
System.out.println(id);
}
}
}
2.静态内部类(static修饰)
public static class Inner{
public void in(){
System.out.println("这是内部类的方法");
}
}
3.局部内部类
//外部类
public class Outer {
//内部类
public class Inner{
//局部内部类
public void method(){
class Inner1{
public void in(){
}
}
}
}
}
4.匿名内部类
public class Test {
public static void main(String[] args) {
//没有名字初始化类,不用讲实例保存到对象中
//匿名内部类
new App().eat();
}
}
class App{
public void eat(){
System.out.println();
}
}