Ответ 1
Пока вы можете делать то, что вы пытаетесь использовать на некоторых языках сценариев, таких как PHP (и этот вопрос часто задают многие программисты PHP, которые запускают Java), это не то, как работает Java, а на самом деле имена переменных менее важно, чем вы можете реализовать и вряд ли даже существуют после компиляции кода. Что гораздо важнее, а ключевыми являются переменные ссылки - возможность получить доступ к определенному объекту в определенной точке вашей программы, и вы можете легко привязать строки к объектам, используя карту в качестве одного из способов.
Например
Map<String, Dog> dogMap = new HashMap<String, Dog>();
dogMap.put("Fido", new Dog("Fido"));
Dog myPet = dogMap.get("Fido");
Или вы можете получить ссылки на объекты многими другими способами, например, с помощью массивов, ArrayLists, LinkedLists или нескольких других коллекций.
Edit
Вы указываете:
Дело в том, что в моем коде я собираюсь использовать один метод для создания объектов, имя объекта произвольно, но мне нужно, чтобы оно было динамическим, потому что оно не будет временным, поэтому фактическое имя объекта имеет для изменения или я буду писать поверх ранее объявленного объекта.
Это именно то, что я имел в виду, когда я сказал, что имя переменной не так важно, как вы думаете. Имя переменной не имя объекта (это действительно не существует).
Например, если вы создаете собаку в переменной с именем Fido, а затем назначаете ее новой переменной с именем spot, обе переменные, несмотря на разные имена, будут ссылаться на один и тот же объект:
Dog fido = new Dog;
Dog spot = fido; // now fido and spot refer to the same object
Если вы хотите присвоить переменной "имя", считая присвоение классу свойства name:
class Dog {
private String name;
public Dog(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Теперь вы можете дать каждому объекту Dog свое собственное (полу) уникальное имя, если хотите.