Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在其他类中使用对象变量_Java_Class_Oop - Fatal编程技术网

Java 在其他类中使用对象变量

Java 在其他类中使用对象变量,java,class,oop,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()函数不存

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

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具有静态语法检查,因此在运行程序之前需要知道对象的正确类型。因为它没有任何类型的代码,所以程序员有责任在源代码中声明它们

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

这会有用的。。并允许您调用
oneBoot.print\u smo(new smo())

两个旁注:

  • 类名应该是这样的:
    ClassName
  • 方法和变量也应该用camelcased表示,但不带第一个字母,例如:
    myLongVariable

我还是像往常一样,在询问之后立即找到了答案。谢谢。@Doodle:你应该点击复选标记接受这个答案。您还应该回到您以前的问题,并将适当的答案标记为已接受。@Adam Robinson::P等待时间:)重新格式化的代码;如果不正确,请还原。
void print_smo(smo test)
{
  test.get_spoon();
}