Java中static关键字声明的静态内部类与非静态内部类的区别

(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。

(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。

(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面
public static void main(String[] args) {
        // TODO Auto-generated method stub
        Road road;
//        Che Che;

        road = new Liqing(); // 创建静态内部类的实例

        Bridge_Car bridge_Car = new Bridge_Car(); // 创建非静态内部类的实例
        Bridge_Car.Car Che1 = bridge_Car.new Car();
//        Che = new Car();

        Che1.setRoad(road);
        Che1.drive("");

    }

posted on 2021-11-20 16:31  风中明月  阅读(64)  评论(0编辑  收藏  举报