小明呀呀 2022-06-19 21:22 采纳率: 33.3%
浏览 50

类对象调用getClass方法报错StackOverflowError

类对象创建到方法上面就会报错异常,创建在方法里面则正常运行

package Test;

import java.util.Date;

public class SuperTest extends Date {
    SuperTest a = new SuperTest();
    private void test() {
//      SuperTest a = new SuperTest();
        System.out.println(a.getClass().getName());
    }
    public static void main(String[] args) {
        new SuperTest().test();
    }
}
运行结果:
D:\Tools\Java\jdk-17.0.1\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar=14600:D:\Program 
 Files\JetBrains\IntelliJ IDEA 2022.1.2\bin" -Dfile.encoding=UTF-8 -classpath D:\ProjectWarehouse\IdeaProjects\JavaGUI\out\production\TAC2022 
  Test.SuperTest
Exception in thread "main" java.lang.StackOverflowError
    at Test.SuperTest.<init>(SuperTest.java:6)
    at Test.SuperTest.<init>(SuperTest.java:6)
package Test;

import java.util.Date;

public class SuperTest extends Date {
//      SuperTest a = new SuperTest();
    private void test() {
        SuperTest a = new SuperTest();
        System.out.println(a.getClass().getName());
    }
    public static void main(String[] args) {
        new SuperTest().test();
    }
}
运行结果:
D:\Tools\Java\jdk-17.0.1\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar=14718:D:\Program 
 Files\JetBrains\IntelliJ IDEA 2022.1.2\bin" -Dfile.encoding=UTF-8 -classpath D:\ProjectWarehouse\IdeaProjects\JavaGUI\out\production\TAC2022 
  Test.SuperTest
Test.SuperTest

Process finished with exit code 0

  • 写回答

1条回答 默认 最新

  • 灯塔@kuaidao 2022-06-19 21:35
    关注
    public class SuperTest extends Date {
        //这里导致死循环了
        SuperTest a = new SuperTest();
        private void test() {
            System.out.println(a.getClass().getName());
        }
        public static void main(String[] args) {
            new SuperTest().test();
        }
    }
    

    new SuperTest() 构造函数,然后会初始化 SuperTest a = new SuperTest(); 这里又触发构造,循环往复导致堆栈满了

    评论

报告相同问题?

问题事件

  • 修改了问题 6月19日
  • 创建了问题 6月19日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?