Olá pessoal, estou estudando java e tiveram algumas coisas que ficaram um pouco obscuras pra mim.
importjavax.swing.JOptionPane;classmetodos_simples_void_parametros{staticdoublenota1,nota2,media;publicstaticvoidmain(Stringargs[]){ler_notas();calcula_media(nota1,nota2);mensagem();}publicstaticvoidler_notas(){nota1=Double.parseDouble(JOptionPane.showInputDialog("Digite a prmiera nota"));nota2=Double.parseDouble(JOptionPane.showInputDialog("Digite a prmiera nota"));}publicstaticdoublecalcula_media(doublent1,doublent2){return(nt1+nt2)/2;}publicstaticvoidmensagem(){JOptionPane.showMessageDialog(null,"A media das notas foi "+calcula_media(nota1,nota2));}}
- A minha primeira dúvida é com relação ao "static". Esse "static" que está junto com minhas variáveis é necessário por causados meus métodos "statics"?
- Argumentos sempre virão dentro dos parênteses do método?
- O que são realmente os parâmetros?? onde eles costumam vir?
- A minha primeira dúvida é com relação ao “static”. Esse “static” que está junto com minhas variáveis é necessário por causados meus métodos “statics”?
É necessário sim o static, se você não quiser mais variaveis de classe (static), terá que tirar o static dos métodos também.
Ou tu pode criar um objeto dentro do escopo do método para referenciar tais variaveis, lembre-se métodos static não podem referenciar variaveis de instância com ‘this’.
- Argumentos sempre virão dentro dos parênteses do método?
Sim, argumentos sempre vão estar dentro dos parenteses da assinatura do método (isso se o método possuir argumentos).
- O que são realmente os parâmetros?? onde eles costumam vir?
Parâmetros são os dados passados na chamada do método para satisfazer a assinatura do tal.
metodoTeste(/*Aqui vão os parametros*/);
Alexandro_Santos
Lucas Boa noite!
Sou iniciante em Java, portanto se eu me equivocar em ago me corrijam.
Primeiro vamos aos conceitos, você já estudou sobre Programação Orientada a Objeto?
Static é um dos conceitos utilizados em POO. Ele é um modificador que indica que a variável e/ou os métodos pertencem à classe e não ao objeto. Como assim? a “regra” é que os elementos (propriedade e métodos) sejam acessados através de um objeto. Você precisaria criar uma instância da clsse e através do objeto acessar os elementos. No entanto, se estes elementos estão marcados como estáticos, eles poderão ser acessados diretamente da classe sem que o desenvolvedor crie um objeto para isso. Por exemplo, para acessarmos a nota1 da classe metodos_simples_void_parametros poderiamos fazer uma chamada assim: metodos_simples_void_parametros.nota1. Repare que não foi necessário criar um objeto da referida classe. Uma observação relevante que deve ser feita é que uma variável estática ela é da classe e não do objeto, o que implica em dizer que se uma chamada do programa setar a nota1 = 10 e uma outra setar nota1 = 2, o valor atual da nota1 = 2, isso porque uma variável estática tem o seu valor compartilhado. Se ela não fosse estática e um objeto fosse criado, cada um gerenciaria individualmente o valor de nota1.
Argumento e parâmetros sempre vêem entre parênteses na assinatura do método, assim:
private double somar(double valor1, double valor2). Algumas literaturas diferenciam parâmetro de argumento. No exemplo do método somar(), quando você está desenvolvendo o método diz-se que valor1 e valor2 são parâmetros. Agora quando você está chamando o método (por exemplo de dentro do método main()), diz-se que valor1 e valor2 são argumentos.