Java中的空花括号/大括号表示什么?

6

2
+1 - 很棒的问题!当然,这是相当基础的问题,但它引人深思,并突显了访问级别修饰符如何用于限制访问并澄清类的目的。我觉得很多人忽视了这些细节,没有意识到它们可以传达像“这个类只在这个包中使用,而不在其他地方”这样的信息。 - jamesmortensen
4个回答

4

这意味着在这个构造函数中没有东西可执行。通常情况下,Java默认提供此功能,因此不需要编写Provider(){}。

与编译器默认提供的构造函数相比,主要区别在于访问受限,因为它不是public。


1
这实际上与Java创建的构造函数不同。我相信自动生成的构造函数具有公共可见性。而这个构造函数具有默认可见性。 - Emil L
@javaCity - 我修改了你的答案,使其更加正确。 :) +1 - jamesmortensen

1

这是一个具有默认可访问性的构造函数。


1

无参构造函数只是被定义而不是未声明。然而,由于访问级别修饰符“public”被省略了,这意味着无参构造函数是使用默认包定义的。

这意味着任何包外的类都无法实例化它。只有包内的类才能实例化Provider类。


0

这是 默认构造函数,它什么也不做。

此类的对象可以在包内创建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接