Reputation: 460
In my Player.java object class I have the following code
private static int playerAge;
with
playerAge = 18;
in my constructor method
public static int getplayerAge() {
return playerAge;
}
But when trying to get the player age in my java class which extends activity it always shows "0" instead of "18" like it's supposed too. Here's my code for that.
TextView playerAge = (TextView) findViewById(R.id.tvPlayerAge);
playerAge.setText("Age: " + Integer.toString(Player.getplayerAge()));
What am I doing wrong? Thanks!
By the way if I change private static int playerAge;
from the very top, to
private static int playerAge = 18;
it works, just don't get why it doesn't work from the constructor method.
Player.java class
public class Player extends Object {
//Instance Data
private static String playerName;
private static int playerAge = 1;
private static boolean sterile;
//Default Constructor
public Player() {
playerName = "";
playerAge = 5; //For some reason you have to inetiate the playerAge in the instance data for
//it to be able to read it...
sterile = true; //Default Value
}
//Constructor
public Player(String pName, int pAge, boolean isSterile) {
playerName = pName;
playerAge = pAge;
sterile = isSterile;
}
//Accessor Methods (Getters)
public static String getplayerName() {
return playerName;
}
public static int getplayerAge() {
return playerAge;
}
public static boolean getplayerDiseasedState() { //Sterile or not?
return sterile;
}
//Mutator Methods (Setters)
public static void setPlayerName(String name) {
playerName = name;
}
public static void setplayerAge(int age) {
playerAge = age;
}
public static boolean setSterileState(boolean diseased) {
return sterile = diseased;
}
//toString (Accessor)
public String toString() {
String toString = "Player Name: "+ playerName + "\n" +
"Player Age: " + playerAge + "\n" +
"Player Diseased: " + sterile + "\n";
return toString;
}
}
Upvotes: 1
Views: 101
Reputation: 3318
You don't need the Integer.toString() bit. Just use:
player.setText("Age: " + Player.getPlayerAge());
Upvotes: 1