Há Como Melhorar?

Boa tarde amigos, além de estudar para certificação, o que tenho feito muito por sinal, eu tenho tentado desenvolver pequenos programas, como o abaixo, são duas classes, e tentei usar o padrão JavaBeans, funcionou normalmente fazendo o que espero, o que gostaria de saber é se segui o padrão corretamente, onde posso melhorar o programa, pois quero praticar muito para fixar os conceitos, conto com os amigos do fórum para ir me guiando neste caminho, se puderem dêem uma olhada no código, desde já agradeço a todos:


package poo;

import java.util.Scanner;

public class Media {
	private double n1;
	private double n2;
	private double n3;
	private double n4;
	private double media;
	Scanner entrada = new Scanner (System.in);
	
	public double getN1() {		
		return n1; 
	}
	public void setN1(double n1) {
		System.out.print("Entre com a nota do primeiro bimestre: ");
		this.n1 =  entrada.nextDouble();
	}
	public double getN2() {
		return n2;
	}
	public void setN2(double n2) {
		System.out.print("Entre com a nota do segundo bimestre: ");
		this.n2 = entrada.nextDouble();
	}
	public double getN3() {
		return n3;
	}
	public void setN3(double n3) {
		System.out.print("Entre com a nota de terceiro bimestre: ");
		this.n3 = entrada.nextDouble();
	}
	public double getN4() {
		return n4;
	}
	public void setN4(double n4) {
		System.out.print("Entre com a nota do quarto bimestre: ");
		this.n4 = entrada.nextDouble();
	}
	public void setMedia(double media) {
		this.media = media;
	}
	public double getMedia() {
		System.out.println("Media final foi: " + (n1 + n2 + n3 + n4)/4 );
				return media;
	}
	

}

A classe Teste

package poo;

public class TesteMedia {
	
	public static void main(String[] args) {
		Media m = new Media();
		double n1=0,n2=0,n3=0,n4=0, media=0;
		m.setN1(n1);
		m.setN2(n2);
		m.setN3(n3);
		m.setN4(n4);
		m.getMedia();
		if(media >= 7){
			System.out.println("Aluno Aprovado!");
		}else{
			System.out.println("Aluno Reprovado!");
		}
	}

}

Abraço a todos.

Podia ter usado array de double

sidney.tavares você fez algo não muito bonito, adicionou Scanner entrada = new Scanner (System.in); dentro da classe média. Você justamente tem os métodos setter e getter para setar valores e pegar valores.

A leitura dos dados do console deveriam ficar fora da classe Media, e não dentro! Estude sobre encapsulamento e acoplamento fraco e forte.

Espero que tenha ajudado.

Abraços.

clunsde, ajudou sim, e muito, o que quero não é apenas fazer funcionar, mas usar boas práticas, e a sua dica é muito útil, obrigado.