Criando um método "Radar" em Java
Dica publicada em Java / Avançado
Criando um método "Radar" em Java
Método radar é um método que sabe onde está sendo utilizado e quando. Um simples exemplo:
Você pergunta como o método irá funcionar sem os parâmetros de entrada, pois poderíamos passar o nome da classe, mas é dispensável.
Na classe "Adivinha" faça isto:
Não é necessário import antes que você pergunte.
Utilidades disso? Inúmeras, vou citar uma simples: sabe quando temos "objetos" que acessam a base de dados "hora" em um contexto hora em outro? Esta classe "DAO" poderá ser instanciada neste objeto, com uma lista de objetos na classe "adivinha" e o identificador, temos como chavear.
Outra utilidade é um gerenciador de erros, pois posso descobrir em qual linha executou.
public class ClasseUsurpadora{
private Adivinha a;
public void main(String[] args) {
a.executeiAqui();
}
}
private Adivinha a;
public void main(String[] args) {
a.executeiAqui();
}
}
Você pergunta como o método irá funcionar sem os parâmetros de entrada, pois poderíamos passar o nome da classe, mas é dispensável.
Na classe "Adivinha" faça isto:
public class Adivinha {
public void executeiAqui(){
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
StackTraceElement last_stack_trace_element = stackTraceElements[stackTraceElements.length-1];
System.out.println ("Executei " + last_stack_trace_element.getMethodName () + " em " + last_stack_trace_element.getClassName () + " na linha " + last_stack_trace_element.getLineNumber());
}
}
public void executeiAqui(){
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
StackTraceElement last_stack_trace_element = stackTraceElements[stackTraceElements.length-1];
System.out.println ("Executei " + last_stack_trace_element.getMethodName () + " em " + last_stack_trace_element.getClassName () + " na linha " + last_stack_trace_element.getLineNumber());
}
}
Não é necessário import antes que você pergunte.
Utilidades disso? Inúmeras, vou citar uma simples: sabe quando temos "objetos" que acessam a base de dados "hora" em um contexto hora em outro? Esta classe "DAO" poderá ser instanciada neste objeto, com uma lista de objetos na classe "adivinha" e o identificador, temos como chavear.
Outra utilidade é um gerenciador de erros, pois posso descobrir em qual linha executou.