将对象传递给方法jcreator

时间:2015-02-08 04:54:37

标签: object methods

public static void battleWithLoin( Object spartan1, Object spartanLion){
    System.out.println( spartan1.spartanHealth + " Versus " + spartanLion.spartanHealth);

}

当我运行编译器时找不到符号。我相信它谈论的是.spartan Health。为什么这个方法不能访问Spartan对象变量?

1 个答案:

答案 0 :(得分:0)

因为编译器正在检查字段Object的类spartanHealth。 将参数类型更改为Spartan,因为这是具有spartanHealth字段的类。

由于编译器没有运行您的代码,因此它知道如何知道这些对象实际上是斯巴达人。如果必须按照它们的方式保留参数,则必须转换变量以让编译器知道。

((Spartan) spartan1).spartanHealth