Voici mon problème:statique retour du bloc initialiseur comme vide
public class Class5
{
static int ia, ib;
public static Class5 InstanceClass5 = new Class5();
public Class5()
{
this(1, 2);
}
public Class5(int ia)
{
this(ia, 0);
}
public Class5(int ia, int ib)
{
this.ia = ia;
this.ib = ib;
}
// the only one important part of this class code
public static void returnConstructor(int ia, int ib)
{
}
// ends here, the rest isnt important
public static int myVar = initializeClassVariable();
private static int initializeClassVariable()
{
int ia = 3;
return ia;
}
}
public class Main
{
static Scanner dataEntrance = new Scanner(System.in);
public Main()
{
}
public static Main Instancia1Main = new Main();
static int ia, ib;
// here my problem begins: i just did 2 static blocks initializers, but its
// working good.
public static int varType = InitializeClassVariable();
private static int InitializeClassVariable()
{
ia = Class5.ia;
return ia;
}
public static int varType2 = InitializeClassVariable2();
private static int InitializeClassVariable2()
{
ib = Class5.ib;
return ib;
}
public static void main(String[] args)
{
System.out.println(Class3.Instancia2Class3.Class3());
// It shows that the first static block initializer is doing what it was
// created to do: get the same value as "ia" class variable,
// inside Class5 (so, varType2 or InitializeClassVariable2 method is
// working by the same way, for sure)
System.out.println(Main.varType);
// final Main instancia1Main = Instancia1Main; -- it doenst have any
// importance for now
// AND FINALLY, THERES MY PROBLEM: inside Class5, returnConstructor
// method have 2 arguments: int ia, int ib
// To print this method values, i have to use 2 int arguments: why not
// varType and varType2
// or InitializeClassVariable and InitializeClassVariable2 (both options work by the
// same way... in theory)
// It supposed to work then...
System.out.println(Class5.InstanceClass5.returnConstructor(Main.InitializeClassVariable(), Main.varType2));
}
}
Then it happens J'ai vraiment eu aucune idée pourquoi returnConstructor reçoit les arguments énumérés (Main.InitializeClassVariable(), Main.varType2) comme nulle. System.out.println (Main.varType); -> Cela montre que varType n'est pas un void, et varType2 pour faire de même, quelqu'un a une idée de pourquoi ça se passe et comment y remédier? Je pense que c'est tout, tout le monde!
Je viens de commencer sur Java, je ne peux pas croire que j'ai fait cette erreur. Merci pablochan – FARS