Что имею в виду:
Допустим, в пределах одного пакета есть класс Dog:
package tpack;
public class Dog {
String name;
public Dog (String name) {
this.name=name;
}
public void bark() {
System.out.println(name + " says: 'Woof-woof!'");
}
}
И есть main:
package tpack;
public class Main {
public static void main (String[] args) {
Dog dog1 = new Dog("Butch");
dog1.bark();
}
}
В данном примере вывод при запуске main:
Butch says: 'Woof-woof!'
А мне нужно, чтобы было:
dog1 says: 'Woof-woof!'
но так, чтобы ничего при этом не менять в main.
Т.е. мне нужно как-то внутри самого класса Dog обозначить, что при вызове метода .bark() я хочу видеть в результате его работы имя конкретного объекта класса Dog, из которого вызывается этот .bark().
Возможно ли так сделать, и если да - как?