Java: почему мой оператор точки не работает?

.name и .bark не работают

Dog  wildDogs[] = new Dog[3];
wildDogs[0]= new Dog();
wildDogs[0].name = "Fido";
wildDogs[0].bark();

как выглядит ваш класс Dog? также ваше объявление массива неверно

XtremeBaumer 11.04.2018 12:35

Вам нужно четко объяснить, что именно не работает. Размещайте всю необходимую информацию: ошибки компилятора, сообщения об исключениях и т. Д.

default locale 11.04.2018 12:38

@XtremeBaumer Не могли бы вы объяснить, что не так с объявлением массива? Для меня это абсолютно справедливо.

lexicore 11.04.2018 12:45

Привет и добро пожаловать в StackOverflow. Пожалуйста, найдите время, чтобы прочитать страницу справки, особенно разделы с названиями "Какие темы я могу спросить здесь?" и «Какие типы вопросов мне следует избегать?». И что еще более важно, прочтите, пожалуйста, контрольный список вопросов о переполнении стека. Вы также можете узнать о Минимальные, полные и проверяемые примеры.

lexicore 11.04.2018 12:45

Пожалуйста, создайте полный минимальный воспроизводимый пример и добавьте полное сообщение об ошибке.

Zabuzard 11.04.2018 12:46

@lexicore мой плохой, не обращай внимания на эту часть. Не знал, что это тоже верно. До сих пор я всегда видел и использовал Dog[] dogs

XtremeBaumer 11.04.2018 12:47

Что не так с вашим вопросом: во-первых, непонятно, в чем проблема. «Не работает» о многом нам не говорит. Объясните, какую ошибку вы получаете. Далее пример не завершен. Класс Dog отсутствует.

lexicore 11.04.2018 12:47

Пожалуйста, проверьте, доступны ли члены вашего класса Dog в классе, из которого вы звоните. (проверьте, приватно ли оно).

Naveen Yadav 11.04.2018 12:49
0
8
243
1

Ответы 1

Оператор . указывает, что вы обращаетесь к члену объекта. В вашем случае вы пытаетесь получить доступ к переменной name и методу bark(), но это может произойти только в том случае, если ваш класс Dog действительно содержит эти два свойства. Другими словами, ваш класс Dog должен выглядеть примерно так:

public class Dog
{
  public String name;

  public void bark()
  {
    // bark code goes here

    // example:
    System.out.println( "Wuff" );
  }
}

Также убедитесь, что оба объявлены общедоступными. Узнайте больше о прицелах и о том, для чего они нужны в этом документация.

Другие вопросы по теме