Ho scritto questa semplice classe in Java solo per testare alcune delle sue funzionalità.costruttore java "void" e "non void"
public class class1 {
public static Integer value=0;
public class1() {
da();
}
public int da() {
class1.value=class1.value+1;
return 5;
}
public static void main(String[] args) {
class1 h = new class1();
class1 h2 = new class1();
System.out.println(class1.value);
}
}
Il risultato è:
Ma in questo codice:
public class class1 {
public static Integer value=0;
public void class1() {
da();
}
public int da() {
class1.value=class1.value+1;
return 5;
}
public static void main(String[] args) {
class1 h = new class1();
class1 h2 = new class1();
System.out.println(class1.value);
}
}
L'uscita di questo codice è:
Allora perché non, quando uso void
nella dichiarazione metodo costruttore, il campo statico della classe non cambia più?
Questo secondo non è un costruttore. È solo un metodo che capita di condividere un nome con la sua classe. – murgatroid99
Perché non è più un costruttore. –
la risposta a questa domanda simile [Perché i costruttori di java non hanno un tipo di ritorno] (http://stackoverflow.com/questions/6801500/why-do-constructors-in-java-non-have-a-return- tipo) dà una grande ragione. – Doswell