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) {