Problema em uso de método get

Oi pessoal, tenho um problema com meu código pois não consigo ter acessar o objeto e gostaria de ajuda.

Aluno.java

public class Aluno {
//Atributos
private String nome;
private long matricula;
private String endereco;

 public Aluno() {
     System.out.println("Um aluno criado");//Testa o construtor
}

public Aluno(String n, long m, String e){
 this.nome=n;
 this.endereco=e;
 this.matricula=m;

}

//Metodos

public String getNome(String nome){
return nome;
}


public void setNome(String nome){
this.nome = nome;
    System.out.println("Set usado");//Testa o método set
	
}

}

   Main.java

public class Main {
public static void main(String[] args) {
Aluno a = new Aluno();
a.setNome(“Fulano”);
System.out.println(a.getNome());//Nesta linha da erro [color=red] cannot be applied to ()[/color]
}

}

de ja agradeço.

coloca seus códigos com tag [code]

Aluno.java

[code]
public class Aluno {
//Atributos
private String nome;
private long matricula;
private String endereco;

 public Aluno() {
     System.out.println("Um aluno criado");//Testa o construtor
}

public Aluno(String n, long m, String e){
 this.nome=n;
 this.endereco=e;
 this.matricula=m;

}

//Metodos

public String getNome(String nome){ //#1 <==!! aqui esta o problema
return nome;
}


public void setNome(String nome){
this.nome = nome;
    System.out.println("Set usado");//Testa o método set
	
}

}[/code]

   Main.java

[code]public class Main {
public static void main(String[] args) {
Aluno a = new Aluno();
a.setNome(“Fulano”);
System.out.println(a.getNome());//Nesta linha da erro cannot be applied to ()
}

}[/code]

lendo o erro, getNome() não pode ser aplicado a () pq vc colocou no método como argumento uma string

altere o método getNome(String nome) conforma abaixo, no #1

public String getNome(){ //#1 return nome; }

Olha, o método get serve para retornar algum valor, se tiver algum parâmetro de entrada no método, então você tem que fazer alguma operação com ele e mostrar o resultado. Por exemplo: Quando queremos realizar alguma pesquisa simplesmente teremos um método get que vai retornar uma lista de objetos. Mas o parâmetro de entrada vai ser do mesmo tipo da minha classe.

   public void setNome(String nome){
   }//Método que vai setar o parâmetro de entrada ao atributo nome da sua classe

  public String getNome(){
  }//Já o método getNome vai retornar uma string contendo o nome que você definiu no método setNome, repito se houver algum parâmetro de entrada no método getNome, significa que você terá que fazer alguma operação com ele.

O método get não recebe parâmetro, apenas retorna a variável, ou o objeto

PS: Se vc usar eclipse
Aperte Ctrl + 3 e digite ggas que é a abreviação de Generate Getters And Setters e selecione todos os getters e setters, que ele faz automaticamente…
O netbeans também faz, mas não sei qual é o atalho…

Boa noite a todos.

[quote=pedroroxd]PS: Se vc usar eclipse
Aperte Ctrl + 3 e digite ggas que é a abreviação de Generate Getters And Setters e selecione todos os getters e setters, que ele faz automaticamente…
O netbeans também faz, mas não sei qual é o atalho…[/quote]

No NetBeans basta voce clicar com o botão direito do mouse em cima da variável (atributo) e na caixa popup escolher [color=blue]“Refatorar -> Encapsular campos” [/color]

[quote=discorpio]Boa noite a todos.

[quote=pedroroxd]PS: Se vc usar eclipse
Aperte Ctrl + 3 e digite ggas que é a abreviação de Generate Getters And Setters e selecione todos os getters e setters, que ele faz automaticamente…
O netbeans também faz, mas não sei qual é o atalho…[/quote]

No NetBeans basta voce clicar com o botão direito do mouse em cima da variável (atributo) e na caixa popup escolher [color=blue]“Refatorar -> Encapsular campos” [/color][/quote]

No NetBeans você também pode clicar com o direito dentro do código, em uma linha vazia, ir em “Gerar código” e em “Getters e setters”. :wink:

Obrigado, bom para exclarecer para o amigo dacruzaraujo
Mas eu não uso netbeans =D

Olá, sou eu de novo.

A via de regras de encapsulamento, realmente deve se evitar que o método get receba algum parâmetro, pois em Ingles, o verbo [color=blue]Get[/color], significa obter, pegar, apanhar e vários outros significados similares, voltando a regra de encapsulamento, ele realmente [color=blue]foi feito com o objetivo de apanhar valores de atributos encapsulados[/color] e não de atribuir valores aos atributos encapsulados, função este atribuída ao método Set, portanto não é aconselhável misturar as funções. [color=blue]Contudo, nada impede que o método Get receba algum parâmetro,[/color] desde que este parâmetro recebido seja processado e manipulado dentro do método Get, a fim de obter outro resultado diferente do que foi recebido.

Olá, denovo aqui.

[quote=Trebloc]
No NetBeans você também pode clicar com o direito dentro do código, em uma linha vazia, ir em “Gerar código” e em “Getters e setters”. ;)[/quote]

Obrigado Trebloc, por lembrar.

Na versão 6.8 do NetBeans que estou usando o [color=blue]“Gerar código”[/color] foi substituído por [color=blue]“Inserir código”[/color], porém eu prefiro utilizar o “Refatorar -> Encapsular campos”.

Bom, nada impede o método get de receber parâmetro e o set de retornar algo…
Mas por convenção não é usado…
Tanto que quando vc manda a IDE fazer isso para você, o get retorna e o set seta…

Agora se vc quiser fazer isso pode, mas mude o nome do método (não deixe get)…

Pessoal obrigado pelas dicas, pricipalmente ao Lavieri, foi só escrever o método sem o argumento.
Um abraço