Obtenir la valeur d'une classe à l'utiliser dans une autre classe (java)
J'ai deux classes
dans la classe ABC
double a = 0.5
public double lala()
{
return a;
}
Je veux l'utiliser dans une autre classe, disons classe DEF
ABC abc;
double baba = abc.lala();
Mais il est dit que java.lang.NullPointerException, une idée? Thx
public class AdapterDB
{
double cal;
double rcarbohydrate;
double rfat;
double rprotein;
public AdapterDB(double cal, double rcarbohydrate, double rfat, double rprotein, Context ctx)
{
this.cal = cal;
this.rcarbohydrate = rcarbohydrate;
this.rfat = rfat;
this.rprotein = rprotein;
this.context = ctx;
DBHelper = new DatabaseHelper (context);
}
public double Calorie()
{
return cal;
}
public double Carbohydrate()
{
return rcarbohydrate;
}
public double Protein()
{
return rprotein;
}
public double Fat()
{
return rfat;
}
}
Voici mon code pour la classe ABC, et je veux utiliser certains d'entre eux à une autre classe >_<
- maintenant, il est beaucoup mieux que la précédente
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'allouer de l'ABC en mémoire, sinon il des points à
null
, donc NullPointerException:Modifier: Ok, dans le cas où ABC n'a pas un zéro argument constructeur comme:
vous avez deux options pour résoudre votre problème. Ajouter de l'un et de l'intérieur de donner des valeurs par défaut pour vos autres champs. Comme:
Ou, de modifier la création de l'objet comme:
Vous devez initialiser que
abc
de référence avant de l'utiliser:new ABC(arg1, arg2)
? Ou laABC abc
de référence que vous utilisez est un argument en faveur de votre méthode ? Dans les deux cas, vous ne pouvez pas contourner l'instanciation:new ABC(/*whatever arguments*/)
vous n'avez pas d'initialiser l'objet abc l'ABC de la classe qui est pourquoi. vous devez initialiser le premier objet abc comme de cette façon
si vous voulez que sans la création d'un objet d'une classe et utilisé cette catégorie de membre utilisée mot-clé static, comme cette façon
et vous pouvez accéder à cette méthode comme de cette façon
mais pour cela vous devez définir les autres membres avec le mot-clé static lequel vous souhaitez l'utiliser en statique méthode