【问题标题】:Using object variables inside other classes在其他类中使用对象变量
【发布时间】:2010-06-19 03:54:19
【问题描述】:

我有一个对象,例如,我想在另一个类中调用它的函数

class smo {

    int spoon = 10;

    smo() {
    }

    int get_spoon() {
        return spoon;
    }
}

class boat {

    boat() {
    }

    print_smo(Object test) {

        test.get_spoon();

    }
}

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

【问题讨论】:

  • 重新格式化的代码;如果不正确,请恢复。

标签: java class oop


【解决方案1】:

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

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

void print_smo(smo test)
{
  test.get_spoon();
}

这会起作用.. 并且可以让您致电oneBoot.print_smo(new smo())

两个旁注:

  • 类名应该是camelcased 这样:ClassName
  • 方法和变量也应该是驼峰式,但没有首字母,例如:myLongVariable

【讨论】:

  • 我只是像往常一样在询问后立即找到了答案。 java.sun.com/docs/books/tutorial/java/javaOO/arguments.html 不过还是谢谢你。
  • @Doodle:您应该通过单击复选标记来接受此答案。您还应该返回旧问题并将适当的答案标记为已接受。
  • @Adam Robinson: :P 还有等待时间:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 2012-07-15
  • 1970-01-01
相关资源
最近更新 更多