我能在java中创建对象时看到默认构造函数调用吗

我能在java中创建对象时看到默认构造函数调用吗,java,default-constructor,Java,Default Constructor,只是一个公共类a,它将有JVM定义的默认构造函数,并将在运行时调用 public class A { } Main类有Main方法,它将创建类A的对象并自动调用类A的默认构造函数 public class Main { public static void main(String[] args) { A a = new A(); } } 我是否可以进行调试,并可以看到最终进入调用类A的默认构造函数的游标流?除非您有一些业务逻辑,否则调试是没有用的。否则它是空

只是一个公共类a,它将有JVM定义的默认构造函数,并将在运行时调用

public class A {

}
Main类有Main方法,它将创建类A的对象并自动调用类A的默认构造函数

public class Main {
    public static void main(String[] args) {
        A a = new A();
    }
}

我是否可以进行调试,并可以看到最终进入调用类A的默认构造函数的游标流?

除非您有一些业务逻辑,否则调试是没有用的。否则它是空的

但你可以

public class A {

    /* Default no arg constructor */
    public A(){
       System.out.println("Put a break point at this line");
     }
    }
您仍然可以在JVM内部插入默认构造函数的情况下运行此代码


如果要向中添加某些功能,则需要手动编写。

除非内部有一些业务逻辑,否则无法使用调试。否则它是空的

但你可以

public class A {

    /* Default no arg constructor */
    public A(){
       System.out.println("Put a break point at this line");
     }
    }
您仍然可以在JVM内部插入默认构造函数的情况下运行此代码


如果要向添加某些功能,需要手动编写。

没有直接的方法

您可以定义默认构造函数并在其中打印一些内容

class A {
  public A() {
    System.out.println("constructor is called");
  }
}

现在,当您在Main类中创建一个类的实例时,消息将被打印出来。您可以将调试点放入print语句中,并看到运行时光标指向它。

没有直接的方法

您可以定义默认构造函数并在其中打印一些内容

class A {
  public A() {
    System.out.println("constructor is called");
  }
}

现在,当您在Main类中创建一个类的实例时,消息将被打印出来。您可以将调试点放入print语句中,并看到运行时光标指向它。

您为什么要这样做? 作为缔约国:

如果要声明的类是原始类对象,则默认构造函数的主体为空。否则,默认构造函数只调用不带参数的超类构造函数


所以没有什么有趣的东西可看。只需调用一些默认构造函数,直到
对象
。至于调试问题,这在很大程度上取决于您使用的调试器。

为什么要这样做? 作为缔约国:

如果要声明的类是原始类对象,则默认构造函数的主体为空。否则,默认构造函数只调用不带参数的超类构造函数


所以没有什么有趣的东西可看。只需调用一些默认构造函数,直到
对象
。至于调试问题,这在很大程度上取决于您使用的调试器。

因为默认构造函数的定义是空的,所以像一些建议的答案那样将代码放入其中毫无意义:它不再是默认构造函数

我现在没有IDE(在电话上),但我认为您应该能够从创建类的新实例的语句中进入默认构造函数,例如,从以下行:

Something something = new Something();
然而,这有什么意义呢?默认构造函数为空,因此没有要查看或调试的内容

如果要在默认构造函数创建类的实例时停止执行,请创建一个包含伪语句的无参数构造函数。(当然,不会了,不会再有默认构造函数了,如前所述。)


如果您不能编辑类的源代码,那么我不知道如何在默认构造函数中停止执行。我很有兴趣学习。

因为默认构造函数定义为空,所以像一些答案建议的那样将代码放在其中毫无意义:它将不再是默认构造函数

我现在没有IDE(在电话上),但我认为您应该能够从创建类的新实例的语句中进入默认构造函数,例如,从以下行:

Something something = new Something();
然而,这有什么意义呢?默认构造函数为空,因此没有要查看或调试的内容

如果要在默认构造函数创建类的实例时停止执行,请创建一个包含伪语句的无参数构造函数。(当然,不会了,不会再有默认构造函数了,如前所述。)


如果您不能编辑类的源代码,那么我不知道如何在默认构造函数中停止执行。我对学习很感兴趣。

我试过用Intellij做这件事,但是没有luckI试过用Intellij做这件事,但是没有luckHe想调试到默认构造函数中。。。不需要打印something@Parker_Halo在空构造函数中调试什么?从构造函数中打印某些内容也只是调试。我不知道他想做什么,但这是他的问题;)他想调试到默认构造函数中。。。不需要打印something@Parker_Halo在空构造函数中调试什么?从构造函数中打印某些内容也只是调试。我不知道他想做什么,但这是他的问题;)无需在构造函数中打印某些内容。。。默认构造函数不会执行任何操作(包括打印),无需在构造函数中打印某些内容。。。默认构造函数不会执行任何操作(包括打印)