Estou iniciando agora em Java, de início não gostei da linguagem, mas agora analisando seus extensos recursos me interessei…
Minha maior dúvida de início é quanto às classes, objetos etc…
Por exemplo, quando utilizar :
Estou iniciando agora em Java, de início não gostei da linguagem, mas agora analisando seus extensos recursos me interessei…
Minha maior dúvida de início é quanto às classes, objetos etc…
Por exemplo, quando utilizar :
public class significa que você está declarando uma classe de visibilidade publica (todos as classes de todos os pacotes podem ve-la). A classe precisa ser declarada dentro de um arquivo com o mesmo nome da classe.
Exemplo:
MinhaClasse.java
publicclassMinhaClasse{}
public void faz parte da declaração de um metodo. public (como dito acima) é a visibilidade do metodo, nesse caso todas as classes de todos os pacotes. void é o retorno dele (no caso, não retorna nada).
public static void também faz parte da declaração do metodo. É igual ao acima mas com a palavra static você indica que não é necessario uma instacia de uma classe para acessa-lo mas o metodo não podera fazer referencia a metodos e atributos de instancia (ou seja, tudo aquilo que não tiver static).
Obrigado pela explicação, no momento está sendo muito difícil entender o que é um método, classe, objeto… acho que a dificuldade maior é entender quando utilizar cada um deles, acho que sabendo em que irei utilizar com certeza ficaria mais fácil entender o que é…
Imagine a classe como como um projeto. Suponhamos a classe Pessoa. Ela seria como um projeto de como uma pessoa deve ser. Tem os atributos (altura, peso, nome, idade) e metodos (o que ela faz, como comer, dormir, beber, correr).
publicclassTeste{publicstaticvoidmain(String[]args){PessoaumCara;// criamos uma variavel de referencia do tipo Pessoa, ela// só// aceita referencias a objetos do tipo pessoaumCara=newPessoa("João",25,1.75);// instanciamos um objeto do tipo// pessoa e passamos a// referencia// para umCara. Aqui foi chamado// o metodo// construro Pessoa(String, int,// altura)umCara.mostraInformacao();// invocamos o metodo mostraInformacao() a// partir// da variavel umCaraumCara.corre();// invocamos o metodo corre() a partir da variavel// umCaraumCara.dorme();// invocamos o metodo dorme() a partir da variavel// umCaraPessoaoutraPessoa;// criamos outra variavel de referencia, nós a// chamamos de outraPessoaoutraPessoa=newPessoa("Zé",30,1.90);// instanciamos um outro// objeto do tipo pessoa e// passamos a referencia// desse novo objeto para a// variavel outraPessoaoutraPessoa.mostraInformacao();// invocamos o metodo mostraInformacao()// a partir de outraPessoaoutraPessoa.come();// invocamos o metodo come() a partir de outraPessoaoutraPessoa.dorme();// invocamos o metodo dorme() a partir de// outraPessoaSystem.out.println("Outra pessoa acabou de fazer alguns anos e agora ele tem"+outraPessoa.fazerAlgunsAniversarios(5));/* * Perceba que umCara e outraPessoa armazenam estados diferentes. Eles * são o mesmo tipo de objeto mas possuem estados diferentes. */}}classPessoa{privateStringnome;// declaramos um atributo do tipo String com// visibilidade privateprivateintidade;// declaramos um atributo do tipo String com visibilidade// privateprivatedoublealtura;// declaramos um atributo do tipo double com// visibilidade privateprivatebooleancansado;// declaramos um atributo do tipo boolean com// visibilidade privatepublicPessoa(Stringnome,intidade,doublealtura){// metodo construtor,// ao fazer new// Pessoa(String,// int, altura) este// metodo sera// chamadothis.nome=nome;// a palavra this é usada para se referenciar ao// objeto atual, no caso chamamos o atributo nome do// nosso objeto pessoa, dessa forma o compilador// pode saber a diferença entre as variaveis nome// que pertence ao objeto e a variavel nome que foi// passado como parametrothis.idade=idade;this.altura=altura;}publicvoidmostraInformacao(){// metodo de visibilidade public que não// retorna nadaSystem.out.println("Nome: "+nome);// aqui imprimimos o nome no// consoleSystem.out.println("Idade: "+idade);// aqui imprimimos a altura no// consoleSystem.out.println("Altura: "+altura);// aqui imprimimos a altura no// consoleSystem.out.println("Eu "+(cansado?" estou cansado.":" não estou cansado."));// aqui// verificamos// se// a// variavel// cansado// é// verdadeira,// caso// seja// true// retorna// a// String// " estou cansado."// caso// seja// false// retorna// a// String// " não estou cansado."}publicvoidcome(){// metodo de visibilidade public do tipo voidSystem.out.println(nome+" se alimentou bem");// aqui imprime a String// "Estava bom."}publicvoidcorre(){// metodo de visibilidade public do tipo voidif(!cansado){// aqui verificamos se cansado é igual a false, se for// true ele entra no bloco de código abaixo, caso seja// true entra no bloco elseSystem.out.println(nome+" correu muito e agora está cansado.");cansado=true;// passamos a variavel para true}else{// se cansado for true, o código cai nesse blocoSystem.out.println(nome+" está muito cansado para correr.");}}publicvoiddorme(){// metodo de visibilidade public do tipo voidSystem.out.println("Agora "+nome+" não está mais cansado.");cansado=false;// passamos a variavel para false}publicintfazerAlgunsAniversarios(intquantosAnos){// metodo de// visibilidade// public que// retorna um// inteiro e pede um// inteiro como// parametro para// poder ser// invocadoidade+=quantosAnos;returnidade;}}
I
Interpreter.Java
Obrigado, muito detalhada a explicação, mas como estou inciando ainda é confuso… mas estou lendo e estudando para tentar me adaptar ao “ambiente” java…
Poderia me dar um exemplo de classes e métodos por exemplo de um conversor de temperaturas F/Cº ou mesmo de uma Calculadora ?