2015-11-28 4 views
-2

Main FileПередача объекта в качестве параметра метода (Java)

My class

Проблема я встречая, что когда я пытаюсь собрать всю свою программу, он говорит мне, что не могу найти все переменные в строке 17 из моего основного файла.

Я должен передать объект методу printmovieinfo.

+1

Пожалуйста, не указывайте изображения для получения дополнительных вопросов, укажите только код – Ramanlfc

+1

Небольшие образцы кода, подобные этому, могут быть размещены как часть вопроса. Не делайте _not_ свой код в качестве ссылок на .png-файлы. Одна из задач StackOverflow - поддерживать базу данных вопросов и ответов, которая может использоваться в течение длительного времени в будущем, и размещать ссылки на временные URL-адреса этой цели. – ajb

ответ

0

использование ссылка citizenkane в printMovieInfo(), но обратите внимание, что все переменные в классе Movie являются private, так что вы не можете получить доступ к ним в printMovieInfo(). поэтому сделайте их public или предоставите публичные импотенции для них и используйте их в следующих категориях: printMovieInfo()

+0

Ummm, это не те 'частные' поля? – ajb

+0

@ajb спасибо за указатель, не заметил сначала – Ramanlfc

0

Напишите «get» методы в вашем классе Movie. Это простые функции, возвращающие ваши частные переменные. Затем получите доступ к ним в своем основном классе с помощью citizenkane.getTitle() и так далее.

1

Ваш метод printMovie принимает параметр Movie с именем citizenkane (это плохое имя, так как метод должен использоваться в любом фильме, а не только в одном). Чтобы получить заголовок и другую информацию, вам нужно сообщить программе, что она будет получать информацию от citizenkane. Он не будет читать ваш разум.

Проблема в том, что в классе Movie вы предоставили методы для настройки этой информации, но нет методов для получения информации. В дополнение к set методов, вам нужно get методы, чтобы получить информацию, как:

public String getTitle() { 
    return title; 
} 

Тогда, если у вас есть объект фильм под названием m, вы можете использовать m.getTitle(), чтобы получить титул. m.title не будет работать, потому что поле title в Movie равно private, что означает, что он не виден никому другому классу. Используйте этот синтаксис с параметром citizenkane, чтобы получить заголовок и другую информацию.

Смежные вопросы