Não, isso identifica de que classe é o objeto, não quem instanciou o objeto
F
fernando_generosoPJ
Eu tentaria fazer desse jeito:
Faria nas minhas classes, um método que receberia o objeto software, e compararia com o objeto da classe(com o sinal ==). Retornaria true, se for igual, o que quer dizer q o endereço de memória desses dois objetos é o mesmo. Se cada classe instancia um objeto do tipo software, nenhuma delas vai ter endereços iguais, apesar de o objeto ser o mesmo. Se tu tiver um objeto, com o mesmo endereço de memória dos objetos da classe, certamente foi essa classe que instanciou esse objeto. Eu acho que funcionaria…
C
CarneiroPJ
Você pode utilizar Reflection:
Lista=newArrayList();Constructorconstructor=a.getClass().getConstructor(newClass[]{});System.out.println("Instância de: "constructor.getName());
J
jaireltonPJ
Você está querendo dizer é isso?
publicclassSoftware(){}publicclassControle{publicstaticvoidreceber(Softwaresoft){//soft veio de Instanciador1 ou Instanciador2???}}publicclassIntanciador1{publicIntanciador1(){Controle.receber(newSoftware());}}publicclassIntanciador2{publicIntanciador2(){Controle.receber(newSoftware());}}
Se for, não é possível, você terá que enviar a instância da classe que chamou o método como parâmetro também.
Ex.:
public class Controle{
public static void receber(Software soft, Object chamador){
}
}