将对象作为参数传递给方法(Java)

时间:2015-11-28 04:07:51

标签: java class object methods javac

Main File

My class

我遇到的问题是,当我尝试编译所有程序时,它告诉我它无法找到主文件第17行中的所有变量。

我必须将对象传递给printmovieinfo方法。

3 个答案:

答案 0 :(得分:1)

您的printMovie方法采用名为Movie的{​​{1}}参数(这是一个错误的名称,因为该方法应该适用于任何电影,而不仅仅是那个电影)。要获取标题和其他信息,您需要告诉程序它将从citizenkane获取信息。它不会读你的想法。

问题是在citizenkane类中,您提供了设置该信息的方法,但没有提供信息的方法。除了Movie方法之外,您还需要set方法来获取信息,例如:

get

然后,如果您有一个名为public String getTitle() { return title; } 的电影对象,则可以使用m来获取标题。 m.getTitle()无效,因为m.title中的title字段为Movie,这意味着任何其他类都无法看到它。将此语法与private参数一起使用,以检索标题和其他信息。

答案 1 :(得分:0)

使用citizenkane中的引用printMovieInfo(),但请注意,您的班级Movie中的所有变量均为private,因此您无法在printMovieInfo()中访问它们}。所以要么让他们public或为他们提供公共吸气者,并在printMovieInfo()

中使用它们

答案 2 :(得分:0)

在Movie类中编写'get'方法。这些只是返回私有变量的简单函数。然后使用citizenkane.getTitle()在主类中访问它们,依此类推。