Perché Java non fornisce il costruttore predefinito, se la classe ha un costruttore parametrizzato? consideri il seguente esempioPerché Java non fornisce il costruttore predefinito, se la classe ha un costruttore parametrizzato?
class A {
int a;
public A() {
}
public A(int val) {
a = val;
}
}
Qui ho bisogno di aggiungere in modo esplicito costruttore di default. C'è qualche ragione, perché Java non fornisce il costruttore predefinito per la classe che ha il costruttore parametrizzato?
Non penso che sia un duplicato; sta chiedendo * perché * la specifica dice quello che fa. – OrangeDog
@OrangeDog La difficoltà qui è che la risposta letterale alla domanda dell'OP è * "Un compilatore non genera un costruttore predefinito quando si definisce esplicitamente un costruttore perché la definizione di un costruttore predefinito è 'una che il compilatore definisce quando non si definisce un altro'"*. (Il loro public A() {} 'non è un costruttore predefinito.) L'OP stava probabilmente mescolando la terminologia e * probabilmente * in realtà chiedendo dei costruttori no-argument. Forse la domanda dovrebbe essere modificata se vogliamo ipotizzare che l'OP stia mescolando la terminologia. – Radiodef