Instancia de classe

6 respostas
D
Olá pessoal, estou tendo problemas com um método construtor da minha classe:
public class Aluno {

    private int codigo;
    private String nome;
    private int anoNascimento;
    private List<Float> notas = new ArrayList<Float>();
  
    public Aluno(int codigo, String nome, int anoNascimento, ArrayList notas) {
        this.codigo = codigo;
        this.nome = nome;
        this.anoNascimento = anoNascimento;
        this.notas = notas;
    }

  
    public Aluno() {
       
    }

    public int getCodigo() {
        return codigo;
    }

 
    @Override  //por que???
    public String toString() {
        return "Alunos Cadastrados\n{" + "codigo= " + codigo + "nome= " + nome + "anoNascimento= " + anoNascimento + "notas= " + notas + '}';
    }

    public String getNome() {
        return nome;
    }

    public int getAnoNascimento() {
        return anoNascimento;
    }

    public List<Float> getNotas() {
        return notas;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public void setAnoNascimento(int anoNascimento) {
        this.anoNascimento = anoNascimento;

    }

    public void setNotas(List<Float> notas) {
        this.notas = notas;
    }
    public float calculaMedia(List<Float> notas){
        float soma = 0;
        for (Float k : notas){
            soma=soma+k;
       }

        int n=notas.size();
        float media=(soma/n);

        return media;
    }

    public void mostrarTudo(int cod, String nome, List nota, float media){
        DecimalFormat df = new DecimalFormat("#.##");
        JOptionPane.showMessageDialog(null,"Codigo:"+cod+"Nome:"+nome+"Notas:"+nota+"Media"+df.format(media),"Objeto Aluno",
               JOptionPane.PLAIN_MESSAGE);


    }


[code]
List<Aluno> aluno = new ArrayList<Aluno>();
        a.setCodigo(Integer.parseInt(tfCod.getText()));
        a.setNome(tfNome.getText());
        a.setAnoNascimento(Integer.parseInt(tfAno.getText()));
        List<Float> notas = new ArrayList<Float>();
        notas.add(Float.parseFloat(tfn1.getText()));
        notas.add(Float.parseFloat(tfn2.getText()));
        notas.add(Float.parseFloat(tfn3.getText()));
        a.setNotas(notas);
        float media = a.calculaMedia(notas);
        aluno.add(a);
        a.mostrarTudo(a.getCodigo(), a.getNome(), a.getNotas(), media);
        limparCampos();
        System.out.println(aluno);


}
Aluno a = new Aluno();
Como vc´s podem vereu estou construindo a instancia da classe utlizando um construtor vazio...pq não sei como passar a lista de notas antes de setar essas notas (quero utilizar o método construtor normal) Outra coisa, por que ao inserir o método toString() ele o marca como @Override??

obrigado

6 Respostas

drsmachado

DukeFriend:

Como vc´s podem vereu estou construindo a instancia da classe utlizando um construtor vazio…pq não sei como passar a lista de notas antes de setar essas notas (quero utilizar o método construtor normal)
obrigado

List<Float> notas = new ArrayList<Float>();
notas.add(5.3f);
notas.add(7.6f);
Alunu aluno = new Aluno(1, "Darlan", 1983, notas);

DukeFriend:

Outra coisa, por que ao inserir o método toString() ele o marca como @Override??
obrigado

Por que o método toString() é um método herdado da superclasse Object.
Quando você o altera, ele estará sobrescrito ou overrided, por isso a annotation @override

D

ah beleza, obrigado só mais uma coisa…por que ao criar a lista…fazemos:

List <tipodaLista> lista = new ArrayList<tipodaLista>();

pq uma lista recebe arraylist é aquele lance de interface…?

Muito obrigado novamente.

drsmachado

DukeFriend:
ah beleza, obrigado só mais uma coisa…por que ao criar a lista…fazemos:

List <tipodaLista> lista = new ArrayList<tipodaLista>();

pq uma lista recebe arraylist é aquele lance de interface…?

Muito obrigado novamente.


Sim, List é uma interface: http://download.oracle.com/javase/6/docs/api/java/util/List.html

daveiga

Isso, List é uma interface que ArrayList implementa.

Temos trambém LinkedList e Vector implementaando esta interface, por exemplo.

Fazendo assim podemos fazer

List<String> lista = new ArrayList<String>()

// ALgum código compleso aqui...

lista = new  LinkedList<String>()

// Seguimos sem problemas, já que tanto ArrayList quanto LinkedList SÃO listas, apenas implementações diferentes da "ideia" Lista
D

Ok pessoal
Obrigado!

D

Ok pessoal
Obrigado!

Criado 5 de outubro de 2011
Ultima resposta 5 de out. de 2011
Respostas 6
Participantes 3