有没有知道,为什么我这样调用监听器,编译没问题,但是运行就报错,希望能帮我解答
2条回答 默认 最新
- @Artemis 2022-06-10 16:28关注
java 父子类加载顺序
父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父类非静态属性 > 父类非静态代码块 > 父类构造器 > 子类非静态属性 > 子类非静态代码块 > 子类构造器也就是先加载父类构造器创建父类实例,然后才能加载子类构造器,创建子类实例。
你在父类的构造器中创建子类对象,子类找不到父类实例,然后会加载父类构造,父类构造又会创建子类实例,形成死循环导致栈内存溢出。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报