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
Teste basico para vc entender
[code]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;
}
}[/code]
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.