---
# System prepended metadata

title: "\n Java OO Aula 1\n"

---

<p><img src="https://i.imgur.com/D01Fpky.png" alt="" title="Entre no nosso site e veja nossos cursos"></p>
<h1>
<img class="emoji" alt=":coffee:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/coffee.png"> Java OO Aula 1
</h1>

O objetivo deste curso é abordar os principais conceitos, empregar as principais estruturas de dados, e trabalhar utilizando as principais boas práticas de Programação Orientada a Objetos [POO] em **Java**.

<h2 id="-Tema-da-aula" data-id="-Tema-da-aula"><a class="anchor hidden-xs" href="#-Tema-da-aula" title="-Tema-da-aula"><span class="octicon octicon-link"></span></a><img class="emoji" alt=":book:" src="https://cdn.jsdelivr.net/npm/@hackmd/emojify.js@2.1.0/dist/images/basic/book.png">
<span> Tema da aula:</span></h2><p><span>Nessa primeira aula, abrimos o Eclipse, passamos instruções sobre criação de projeto e pacotes. Uso de ternário. Criamos nossa primeira Classe em Java e também uma classe com um método Estático. Mostramos como adicionar uma biblioteca externa e como chamar um método abstrato.</span><br>

<h4>
Estrutura do projeto depois de finalizado
</h4>

![](https://i.imgur.com/Fs8UxK0.jpg)


<h3>Aluno.java</h3>

<p>Classe de dados em Java, com construtores cheio e vazio, toString, Getters e Setters, e quebra de linha no toString, utilizando o "\n"</p>


```java=
package model;

public class Aluno {

	private String nome;
	private Integer id;
	private String email;
	private String disciplina;

	private Double nota1 = 0D;
	private Double nota2 = 0.;

	private Double media = 0.;
	private String situacao = "";

	public Aluno() {
	}

	public Aluno(String nome, Integer id, String email, String disciplina, 
			Double nota1, Double nota2) {
		this.nome = nome;
		this.id = id;
		this.email = email;
		this.disciplina = disciplina;
		this.nota1 = nota1;
		this.nota2 = nota2;
	}

	@Override
	public String toString() {
		return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email 
				+ ", disciplina=" + disciplina + "\nnota1="
				+ nota1 + ", nota2=" + nota2 + ", media=" 
				+ media + "\nsituacao=" + situacao + "]";
	}

	public String getNome() {
		return nome;
	}

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

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getDisciplina() {
		return disciplina;
	}

	public void setDisciplina(String disciplina) {
		this.disciplina = disciplina;
	}

	public Double getNota1() {
		return nota1;
	}

	public void setNota1(Double nota1) {
		this.nota1 = nota1;
	}

	public Double getNota2() {
		return nota2;
	}

	public void setNota2(Double nota2) {
		this.nota2 = nota2;
	}

	public Double getMedia() {
		return media;
	}

	public void setMedia(Double media) {
		this.media = media;
	}

	public String getSituacao() {
		return situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public static void main(String[] args) {

		Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com",
				"JAVA", 5., 4.);
		System.out.println(a1);

		Aluno a2 = new Aluno();
		a2.setDisciplina("JavaScript");
		a2.setEmail("fernando@gmail.com");
		a2.setId(11);
		a2.setNome("fernando jr");
		a2.setNota1(7.);
		a2.setNota2(8.);

		System.out.println("---");
		System.out.println(a2);

	}

}

```
<h4>
Rodando o método main, temos:
</h4>

![](https://i.imgur.com/G9vqkUz.jpg)


<h3>
Aluno.java
</h3>
<p>Classe Aluno com dois métodos novos - calcularMedia e gerarSituacao</p>


```java=
package model;

public class Aluno {

	private String nome;
	private Integer id;
	private String email;
	private String disciplina;

	private Double nota1 = 0D;
	private Double nota2 = 0.;

	private Double media = 0.;
	private String situacao = "";

	public Aluno() {
	}

	public Aluno(String nome, Integer id, String email, 
			String disciplina, Double nota1, Double nota2) {
		this.nome = nome;
		this.id = id;
		this.email = email;
		this.disciplina = disciplina;
		this.nota1 = nota1;
		this.nota2 = nota2;
	}

	@Override
	public String toString() {
		return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email 
				+ ", disciplina=" + disciplina + "\nnota1="
				+ nota1 + ", nota2=" + nota2 + ", media=" 
				+ media + "\nsituacao=" + situacao + "]";
	}

	public String getNome() {
		return nome;
	}

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

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getDisciplina() {
		return disciplina;
	}

	public void setDisciplina(String disciplina) {
		this.disciplina = disciplina;
	}

	public Double getNota1() {
		return nota1;
	}

	public void setNota1(Double nota1) {
		this.nota1 = nota1;
	}

	public Double getNota2() {
		return nota2;
	}

	public void setNota2(Double nota2) {
		this.nota2 = nota2;
	}

	public Double getMedia() {
		return media;
	}

	public void setMedia(Double media) {
		this.media = media;
	}

	public String getSituacao() {
		return situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public void calcularMedia() {
		this.media = (this.nota1 + this.nota2) / 2;
	}
	
	public void gerarSituacao() {
		this.situacao = (this.media>=7)?"Aprovado":"Reprovado";
	}

	public static void main(String[] args) {

		Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com", 
                    "JAVA", 5., 4.);
		a1.calcularMedia();
		a1.gerarSituacao();
		System.out.println(a1);

		Aluno a2 = new Aluno();
		a2.setDisciplina("JavaScript");
		a2.setEmail("fernando@gmail.com");
		a2.setId(11);
		a2.setNome("fernando jr");
		a2.setNota1(7.);
		a2.setNota2(8.);
		a2.calcularMedia();
		a2.gerarSituacao();

		System.out.println("---");
		System.out.println(a2);

	}

}

```

<h4>
Rodando o método main, temos:
</h4>

![](https://i.imgur.com/qfAyIz4.jpg)




<h3>
PrintJson.java
</h3>
<p>Classe criada para ilustrar o uso de método estático e como adicionar bibliotecas externas.</p>

```java=
package control;

import com.google.gson.Gson;

import model.Aluno;

public class PrintJson {

	public static void imprimeJson(Aluno a) {
		System.out.println(new Gson().toJson(a));
	}

}
 	
```
<h3>
Aluno.java
</h3>
<p>Adicionamos as chamadas ao método estático da classe PrintJson</p>

```java=

package model;

import control.PrintJson;

public class Aluno {

	private String nome;
	private Integer id;
	private String email;
	private String disciplina;

	private Double nota1 = 0D;
	private Double nota2 = 0.;

	private Double media = 0.;
	private String situacao = "";

	public Aluno() {
	}

	public Aluno(String nome, Integer id, String email, 
			String disciplina, Double nota1, Double nota2) {
		this.nome = nome;
		this.id = id;
		this.email = email;
		this.disciplina = disciplina;
		this.nota1 = nota1;
		this.nota2 = nota2;
	}

	@Override
	public String toString() {
		return "Aluno [nome=" + nome + ", id=" + id + ", email=" + email 
				+ ", disciplina=" + disciplina + "\nnota1="
				+ nota1 + ", nota2=" + nota2 + ", media=" 
				+ media + "\nsituacao=" + situacao + "]";
	}

	public String getNome() {
		return nome;
	}

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

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getDisciplina() {
		return disciplina;
	}

	public void setDisciplina(String disciplina) {
		this.disciplina = disciplina;
	}

	public Double getNota1() {
		return nota1;
	}

	public void setNota1(Double nota1) {
		this.nota1 = nota1;
	}

	public Double getNota2() {
		return nota2;
	}

	public void setNota2(Double nota2) {
		this.nota2 = nota2;
	}

	public Double getMedia() {
		return media;
	}

	public void setMedia(Double media) {
		this.media = media;
	}

	public String getSituacao() {
		return situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public void calcularMedia() {
		this.media = (this.nota1 + this.nota2) / 2;
	}
	
	public void gerarSituacao() {
		this.situacao = (this.media>=7)?"Aprovado":"Reprovado";
	}

	public static void main(String[] args) {

		Aluno a1 = new Aluno("fernando", 10, "fernandojnr@gmail.com", 
                    "JAVA", 5., 4.);
		a1.calcularMedia();
		a1.gerarSituacao();
		System.out.println(a1);

		Aluno a2 = new Aluno();
		a2.setDisciplina("JavaScript");
		a2.setEmail("fernando@gmail.com");
		a2.setId(11);
		a2.setNome("fernando jr");
		a2.setNota1(7.);
		a2.setNota2(8.);
		a2.calcularMedia();
		a2.gerarSituacao();

		System.out.println("---");
		System.out.println(a2);
		
		System.out.println("---");
		PrintJson.imprimeJson(a1);
		PrintJson.imprimeJson(a2);

	}

}

```
<h4>
Rodando o método main, temos:
</h4>

![](https://i.imgur.com/WkVCw7c.jpg)



<span></span></p><blockquote style="border-left-color: red;">
<p><span class="color" data-color="red"></span><span> </span><small><i class="fa fa-user"></i> Prof Fernando Gomes - fernandojnr@gmail.com</small></p>
