Java 内部类

内部类

  • 可以将一个类的定义放在另一个类的定义内部,这就是内部类。

  • 为什么要使用内部类?

    使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。

  • 特性

    1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。

    2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。

    3、创建内部类对象的时刻并不依赖于外围类对象的创建。

    4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。

    5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。

public class Outer {
    private int id;
    public void out(){
        System.out.println("外部类的方法!");
    }
    public class Inner{
        public void inn(){
            System.out.println("内部类的方法!");
        }

        //获得外部类的私有属性
        public void getGetID() {
            System.out.println(id);
        }

    }
}

public class Application {
    public static void main(String[] args) {
        Outer outer = new Outer();
        //通过外部类来实例化内部类(成员内部类)
        Outer.Inner inner = outer.new Inner();
        inner.inn();
        inner.getGetID();
    }
}
public class Outer {
    private int id;
    //局部内部类
    public void out(){
        class Inner{
            public void test(){
                System.out.println("成员内部类!");
            }
        }
    }
}
public class Demo01 {
    public static void main(String[] args) {
        //没有名字初始化类,不用实例保存到变量中
        new test().add();
    }
}

class test{
    public void add(){
        System.out.println("新增一个数据!");
    }
}
posted @ 2021-04-12 14:03  saxon宋  阅读(37)  评论(0)    收藏  举报