Задать вопрос
@xaocb

Когда создавать переменную?

public class Dog {
    String name;
    public static void main(String[] args) {
        Dog dog1 = new Dog();
        dog1.bark();
        dog1.name = "Bart";
        
        Dog[] myDogs = new Dog[3];
        myDogs[0] = new Dog();
        myDogs[1] = new Dog();
        myDogs[2] = dog1;
        
        myDogs[0].name = "Fred";
        myDogs[1].name = "Marge";
        
        System.out.print("last dog's name is ");
        System.out.println(myDogs[2].name);
        
        int x = 0;
        while (x < myDogs.length) {
            myDogs[x].bark();
            x = x+1;
        }
    }
    public void bark() {
        System.out.println(name + " says Ruff!");
    }
    
    public void eat() { }
    
    public void chaseCat() { }
}

В результате:

null says Ruff!
last dog's name is Bart
Fred says Ruff!
Marge says Ruff!
Bart says Ruff!

1 вопрос: в результате выдает вначале "null says Ruff!" потому что мы сперва вызвали метод dog1.barc(0); и только потом присвоили значение "Bart" ссылочной переменной dog1?

2 вопрос: Строковая переменная String name; создается внутри класса как и показано в примере, чтобы все объекты Dog обладали ей?
public class Dog {
String name;
public static void main(String[] args) {

3 вопрос: если я захочу в результат добавить еще и возраст (точно так же как и имя- через ссылки из массива: myDogs[0].age = x)- то в классе надо создать еще целочисленную переменную int age?
public class Dog {
String name;
int age;
public static void main(String[] args) {
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Академия Эдюсон
    Java-разработчик: тариф Базовый
    8 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
1. Да
2. Да
3. Да.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Казань
от 75 000 ₽
ИТРУМ Ростов-на-Дону
от 75 000 ₽
Яндекс Москва
от 180 000 до 350 000 ₽