private B() {}
//Nesse ex usa se o modificador private para o construtor. A chamada:
new B().B("t");
// Funciona? Qual o papel do modificador de visibilidade em construtores?
private B() {}
//Nesse ex usa se o modificador private para o construtor. A chamada:
new B().B("t");
// Funciona? Qual o papel do modificador de visibilidade em construtores?
Funciona! A classe B pode sim chamar seu próprio construtor privado. Se fosse a A chamando o new B
aí não compilaria.
Construtores privados são utilizados com frequência para implementar o design pattern chamado factory, além de outros menos comuns. Tem mais sobre esse tema no curso de patterns.
class B { private B() {} static B B(String s)
{ return new B(); } }
class A {
public static void main(String[] args) {
new B().B("t");
}
}
No caso esse caso não compila?