Galera to com a seguinte duvida:
class A{
public void go(){
String text;
boolean b = true;
}
}
A variavel local text nao precizaria ser iniciada, assim como o b/
Galera to com a seguinte duvida:
class A{
public void go(){
String text;
boolean b = true;
}
}
A variavel local text nao precizaria ser iniciada, assim como o b/
Pelo que eu sei amigo, todas as variaveis do tipo primitivo precisam ser inicializadas.
Como String é uma variavel do tipo referencia, ela nao tem necessidade.
Corrijam me se estiver errado…
abs
Qualquer variável local precisa ser inicializada. Veja aqui.
Teste basico para vc entender
public class TesteVariavel{
private String Nome;
private boolean Status;
public static void main(String [] args){
TesteVariavel t = new TesteVariavel();
System.out.println(t.getNome() + " " + " " + t.getStatus());
}
public String getNome(){
return Nome;
}
public boolean getStatus(){
return Status;
}
}
a saida ira ser Null e False .
Ou seja quando vc utiliza uma variável como membro ela pega o valor defaul da variável quando se instância o objeto , agora se fosse uma variável local vc teria que atribuir um valor senao iria acontecer uma erro no tempo de execução NullPointerExeception .
jovens,
vale lembrar que toda e qualquer variável local deve ser “inicializada”…esse exemplo até compila pelo fato da variável não ser usada!
Blz…
fiquei com essa duvida em relação a String
porque respondi um Mock e marquei que falhava porque as variaveis locais(no caso a String pq a boolean tava iniciada) precizariam ser iniciadas e tal
dai errei… por isso fiquei na duvida
valeu

Eu pensava que Strings eram uma exeção por ser variavel do tipo referencia.
Obrigado por deixar mais claro.
