Esse código compila? Estou usando o compilejava.net pois estou em um ambiente onde não posso instalar nada. Não consigo achar o erro, e já percebi que esse compilador online tem certas “peculiaridades”.
public class MyClass {
private int param;
public void MyClass(int i) {
this.param = i;
}
public int getParam() {
return param;
}
}
public class MyCompClass {
MyClass myObj;
public void MyCompClass() {
int i = 1234;
myObj = new MyClass(i);
}
public void setValue(int i) {
myObj = new MyClass(i);
}
}
public class MeuPrograma {
public static void main(String[] args) {
MyCompClass teste = new MyCompClass();
System.out.println("O valor do parametro e " + teste.myObj.getParam());
teste.setValue(0);
System.out.println("O valor do parametro e " + teste.myObj.getParam());
}
}
Ele retorna o seguinte erro:
/tmp/java_Cdo9Nm/MyCompClass.java:5: error: constructor MyClass in class MyClass cannot be applied to given types; myObj = new MyClass(i); ^ required: no arguments found: int reason: actual and formal argument lists differ in length
O que não fez o menor sentido para mim. Estou estudando pela apostila Caelum ao mesmo tempo em que desenvolvo um aplicativo, queria entender isso para poder fazer um software bem feito.