在其他类中使用对象变量

时间:2010-06-19 03:54:19

标签: java class oop

我有一个对象,其功能我想在另一个类中调用,例如

class smo {

    int spoon = 10;

    smo() {
    }

    int get_spoon() {
        return spoon;
    }
}

class boat {

    boat() {
    }

    print_smo(Object test) {

        test.get_spoon();

    }
}

它告诉我函数get.spoon()不存在。错误是有道理的,因为没有创建对象,无法调用该函数,但是当它运行并且我已经将类型为smo的适当对象传递给它时它将存在。

1 个答案:

答案 0 :(得分:4)

由于Java具有静态语法检查,因此在运行程序之前需要知道对象的正确类型。由于它没有任何类型的type inference,因此程序员有义务在源代码中声明它们。

这意味着要在smo对象上实际调用get_spoon()的方法smo,您必须声明它将属于该类型,而不仅仅是{{1} (Object中可能的最不具体的类型):

Java

这样可以..并且可以让你拨打void print_smo(smo test) { test.get_spoon(); }

两个旁注:

  • 类名称应为camelcased,方式为:oneBoot.print_smo(new smo())
  • 方法和变量也应该是camelcased但没有第一个字母,例如:ClassName