From the code snippets below, in which the object created in new Pessoa("João")
will be available to the garbage collector in the line: //outras instruções
?
They are all independent codes. They are not in the same class or file.
1
public void algumMetodo() {
AlgumaClasse algumaClasse = new AlgumaClasse();
Pessoa p = new Pessoa("João");
algumaClasse.printaNome(p);
//outras instruções
}
2
public void algumMetodo() {
AlgumaClasse algumaClasse = new AlgumaClasse();
algumaClasse.printaNome(new Pessoa("João"));
//outras instruções
}
3
public void algumMetodo() {
Pessoa p = new Pessoa("João");
new AlgumaClasse().printaNome(p);
//outras instruções
}
4
public void algumMetodo() {
new AlgumaClasse().printaNome(new Pessoa("João"));
//outras instruções
}
5
public void algumMetodo() {
AlgumaClasse.printaNomeStatic(new Pessoa("João"));
//outras instruções
}
Methods printaNome
and printaNomeStatic
:
public void printaNome(Pessoa p) {
System.out.println(p.getNome());
}
public static void printaNomeStatic(Pessoa p) {
System.out.println(p.getNome());
}