Parâmetros, argumentos e static

4 respostas
M

Olá pessoal, estou estudando java e tiveram algumas coisas que ficaram um pouco obscuras pra mim.

import javax.swing.JOptionPane;
class metodos_simples_void_parametros
{
    static double nota1, nota2, media;
    public static void main(String args[])
    {

    ler_notas();
    calcula_media(nota1, nota2);
    mensagem();
    }

    public static void ler_notas( )
    {
    nota1 = Double.parseDouble(JOptionPane.showInputDialog("Digite a prmiera nota"));
    nota2 = Double.parseDouble(JOptionPane.showInputDialog("Digite a prmiera nota"));
    }

    public static double calcula_media(double nt1, double nt2)
    {
       return (nt1+nt2)/2;
    }
    public static void mensagem()
    {
        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?

Vlw pessoal.

4 Respostas

Anime

Oi,

Espero que ajude…http://www.dm.ufscar.br/~waldeck/curso/java/part24.html

Lucas_Rinaldi

- 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.

Um abraço, espero ter ajudado!

E se me equivoquei em algo por favor me corrijam.

xxjamisxx

bem falado tudo certinho ^^

Criado 8 de janeiro de 2011
Ultima resposta 8 de jan. de 2011
Respostas 4
Participantes 5