假设我有以下代码:
Shape shape;
shape = new Circle();
使用断点调试时,我想知道为什么不能在第一行停止执行。我知道这没什么用,但这是一个有效的陈述,对吗?它正在为引用变量分配内存...
最佳答案
I know it's quite useless, but it's a valid statement right?
从技术上讲,这不是一个声明。这是一个变量声明,而不是语句。
尽管不可否认,当声明还初始化变量的值时,将其视为不是语句并不是很有帮助,因此在这种情况下它仍然不称为语句,您可以放置一个断点。
It's allocating memory for reference variable...
没有。当需要存储局部变量时,它们会存储在堆栈中,或者底层平台实现堆栈功能所使用的任何机制。这不需要分配。因此,该行是空操作。它是只为编译器做事的信息,在运行时不存在。
关于java - 为什么不能在变量声明行中放置调试断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513136/