如何在Java中调用对象方法

时间:2016-01-14 20:07:32

标签: java object

我看了整个互联网,但我无法弄清楚我做错了什么。我正在尝试使用get / set方法使用来自另一个类的私有变量。出了点问题,但我无法理解。

public class Character
{
   private int atk = 0;
   private int def = 0;
   private int spd = 0;

   public void setStat(String stat, int n)
   {
      stat = stat.toLowerCase();

      if(stat.equals("def") || stat.equals("defence") || stat.equals("defense"))
      {
         def = n;
      }
      if(stat.equals("atk") || stat.equals("attack"))
      {
         atk = n;
      }
      if(stat.equals("spd") || stat.equals("speed"))
      {
         spd = n;
      }
   }

   public int getStat(String stat)
   {
       stat = stat.toLowerCase();
       int n = -1;
       if(stat.equals("def") || stat.equals("defence") || stat.equals("defense"))
       {
          n = def;
       }
       if(stat.equals("atk") || stat.equals("attack"))
       {
          n = atk;
       }
       if(stat.equals("spd") || stat.equals("speed"))
       {
          n = spd;
       }
       return n;
   }
   public Character(int a, int d, int c)
   {
      atk = a;
      def = d;
      spd = c;
   }
}

这是我的第一个类Character,它将用作对象的模板,并带有get / set方法。

public class newCharacters
{
   Character person1 = new Character(2, 4, 3);
   person1.getStat("atk");
}

这是我的第二个类,它构造一个角色对象,然后尝试获取一个变量。问题是,每当我编译时,它都说对象方法需要一个标识符。确切报价:<identifier> expected

我无法弄清楚它的含义,或者我做错了什么?我为每个类创建了get / set方法,在两个类中创建了对象,甚至在Character类中构造并调用了对象方法。每次都有同样的问题。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

public class newCharacters
{
   Character person1 = new Character(2, 4, 3);
   person1.getStat("atk");
}

这不应该在课堂上。这并不意味着什么。一个类可以有一堆实例变量和方法。

请好好学习基础知识;)

将它放在Character

中的main方法中
public static void main(String [] args) {
   Character person1 = new Character(2, 4, 3);
   person1.getStat("atk");
}

答案 1 :(得分:0)

public class NewCharacters
{

    public static void main(String[] args) {
        Character person1 = new Character(2, 4, 3);
        person1.getStat("atk");
    }
}

程序启动上面的主要方法。 在类中,在顶层只能声明字段和方法(以及构造函数和初始化程序块以及其他类)。