以前印象中一直有一个概念,说“如果没有提供构造方法,java将自动添加一个空的public的构造方法”。现在看来,有2个问题,一,默认构造方法未必是public的,二,默认构造方法肯定有super();(Object类的是空构造方法)。

实际情况是,默认构造方法的修饰符是和所在类的修饰符一致的。

比如

public class Test{

}

它的默认构造方法是

public Test(){

super();

}

class Test{

}

它的默认构造方法是

Test(){

super();

}

这就没有public了。

对于内部类的情况,类的修饰符可能是private,protected。相应的构造方法的修饰符就是private和protected。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-22
  • 2021-12-06
  • 2022-01-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-02
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案