galera esperta tudo bem com vcs? bem estou começando agora em java,como estou aprendendo fiz um programa básico que faz retorna o valor do nome e idade do fernando.
private static String nome1;
private static int idade;
public static void meuMeutodo(){
[quote=kerbage][quote]galera esperta tudo bem com vcs? bem estou começando agora em java,como estou aprendendo fiz um programa básico que faz retorna o valor do nome e idade do fernando.
private static String nome1;
private static int idade;
public static void meuMeutodo(){
nome1 =“fernando”;
idade=32;
}
public static void main(String[] args) {
System.out.println(nome1);
System.out.println(idade);
}
e um seguinte o valor esta retornando como null e não o nome e a idade do fernando.
o que fiz de errado?
abraço a todos.[/quote]
Só faltou você fazer uma chamada do seu método que altera os valores.
No main, antes de imprimir, chame o método que altera as variáveis.
Falem se eu estiver errado pois tbm to começando, vc criou 2 metodos " main" e " meuMeutodo" declarou as variaveis na classe onde os dois metodos estão, até ai tudo bem! mas você atribuiu valores a essas variaveis dentro do metodo " meuMeutodo" que nunca foi executado! então na verdade essas variaveis realmente estão nulas! Duas soluções pra você, atribuir os valores a essas variavéis fora do corpo de qualquer metodo ou criar uma instância da classe que não citou o nome (vamos supor que seja teste), fikaria algo do tipo :
public static void main(String[] args) {
teste t = new teste();
t.meuMeutodo();
System.out.println(nome1);
System.out.println(idade);
private String nome1;
private int idade;
public String RetornaNome(){
return nome1;
}
public int Retornaidade(){
return idade;
}
public void MudaNome(String nome){
nome1 = nome;
}
public void MudaIdade(int Midade){
idade = Midade;
}
}
public class teste(){
public static void main(String args[]){
Xxx x = new Xxx();
x.MudaNome("Fernando");
x.MudaIdade(32);
System.out.println(x.RetornaNome());
System.out.println(x.RetornaIdade());
}
}[/code]
Ou na mesma classe:
[code]public class teste(){
public static void main(String args[]){
String nome1 = "Fernando";
int idade = 32;
System.out.println(nome1);
System.out.println(idade);
}
}[/code]
Mas ainda prefiro usar o primeiro jeito que passei que e o metodo Orientado a Objeto que e mais utilizado em Java.
Kra espero ter ajudado qualquer outra duvida vc posta ai novamente…
cara eu adorei a primeira opção que vc fez! vc usou varias classes e reuniu tudo no main!
no caso todas as classes se veem sem algum problema?
porque vc nao cologou o static nessas classes?
foi mal pelas perguntas e porque eu quero aprender com vcs meus amigos.
rsrsrsr,
Este e um metodo mais usado que eo Orientado a Objeto no Java.
Respondendo a 1º pergunta : Neste caso nao são classes, são metodos dentro de uma classe que se chama Xxx , e quando eu Instancio a classe em um objeto este objeto tem acesso a todas estes metodos.
Respondendo a 2º pergunta: O metodo static nao e muito usado nao, e usado somente em casos especificos. O metodo static e usado para que nao precise instanciar a classe para chamar ela em outro classe, desde vc intanciar ela e somente colocar o nome da classe e o nome do metodo, mas nao e muito usado se eu nao me engano pq ela ja instancia direto ai fica alocando memoria sem motivo.
Respondendo a 3º pergunta: Sim, sem problema vc poderia usar esta classe em quase todos ambiente gráfico.
Xxx x = new Xxx(); // Estou Instanciando a classe Xxx em um objeto que se chama x tipo ( tenho uma classe que se chama nome entao fica Nome bruno = new Nome(); )esta instancia eu estou fazendo que o objeto que eu criei que se chama x podera utilisar todos os metodos colocados na classe Xxx
x.MudaNome(“Fernando”); //Estou utilisando o objeto x para chamar o metodo MudaNome e jogando o nome “Fernando” nele o que esta fazendo: eles esta pegando fernando e indo la na classe Xxx e fazendo o seguinte
public void MudaNome(String nome){
nome1 = nome;
}
tipo se fosse assim:
public void MudaNome(String "Fernando"){
nome1 = "Fernando";
}
x.MudaIdade(32); // e Este e a mesma coisa, ele acessa o metodo “MudaIdade(32)” e faz o mesmo que o de cima com este metodo.
ta ai, espero ter ajudado
qualquer duvida posta ai novamente.
Aí kerbage, blz?
Te recomendo a leitura da apostila de Java básico da caelum: FJ-11 - Java e Orientação a Objetos. Segue o link: http://www.caelum.com.br/apostilas/