Resumo de Java e POO
Resumo de Java e POO
Java - Anotações
Informações Básicas
Class MeuPrograma {
public static void main (string args) {
Orientação á objetos
Ajuda na organização e resolve problemas.
Java - Anotações 1
Criando uma classe:
class Conta {
int numero;
String dono;
double saldo;
double limite;
minhaConta.saldo = 1000.0;
}
Métodos
Comportamento que cada classe tem.
Java - Anotações 2
Dentro do parentes informações de quanto vai ser sacado
(argumento/parametros).
Referências
Quando declara variavel para associar ao objeto ele na verdade não guarda
um objeto e sim a referencia até ele (igual um ponteiro).
Conta c1;
c1 = new Conta ( );
Array
Um array é sempre um objeto.
Arrays são inicializados com um tamanho fixo e não podem ser alterados
posteriormente.
Int [ ] idades;
idades = new int [10];
Java - Anotações 3
Modificadores de acesso e atributos de classe
Controlando o acesso.
Encapsulamento
Esconder todos os membros de uma classe, esconder como funcionam as
rotinas do sistema
Getters e Setters
Como mostrar o saldo de uma conta se nem podemos acessar ele para leitura?
(privado)
Criamos um metodo para pegar o saldo (getter) e um para mudar o valor (setter).
Construtores
Java - Anotações 4
Um construtor só pode rodar durante a construção do objeto.
Atributos de classe
Quando declaramos um atributo como static, ele passa a não ser mais um
atributo de cada objeto e sem um atributo da classe.
Java - Anotações 5
Usar o modificador protected → fica entre o private e o public. Um
atributo protected só pode ser acessado pela propria classe e por suas
subclasses.
Uma classe pode ter várias filhas, mas pode ter apenas uma mãe.
OVERRIDE → REESCREVER
@override
Depois de reescrito, não podemos mais chamar o método antigo que fora
herdado da classe mãe: realmente alteramos o seu comportamento. Mas
podemos invocá-lo no caso de estarmos dentro da classe.
Polimorfismo
Polimorfismo é a capacidade de um objeto poder ser referenciado de
várias formas.
Super: acessar o metodo da classe mãe, para não ter de copiar e colocar
o conteúdo desse metodo e depois concatenar com a informação das
horas de aula.
Classes Abstratas
Java - Anotações 6
Exemplo: existe a classe Pessoa e suas duas filhas PessoaFisica e
PessoaJuridica, a classe pessoa nesse caso estaria sendo usada apenas
para ganhar o polimorfismo e herdar algumas coisas, não precisario
instanciá-la.
Usamos a palavra abstract para impedir que ela possa ser instanciada.
Metodo Abstrato
O metodo abstrato indica que todas as classes filhas devem reescrever
esse método ou não compilarão.
Interfaces
Interface é a maneira através da qual conversamos com um objeto.
Uma interface pode definir uma série de métodos, mas nunca conter
implementação deles. Ela só expõe o que o objeto deve fazer, e não como
ele faz, nem o que ele tem. Como ele faz vai ser definido em uma
implementação dessa interface
Java - Anotações 7
Exceções e controle de erros
Tratamento de exceções: é uma forma de lidar com erros que podem
ocorrer durante a execução de um programa.
A palavra chave throw, que está no imperativo, lança uma Exception. Isto é
bem diferente de throws, que está no presente do indicativo, e que apenas
avisa da possibilidade daquele método lançá-la, obrigando o outro método
que vá utilizar deste de se preocupar com essa exceção em questão.
Java - Anotações 8
SCANNER
É usado para pegar informações do teclado.
scan.close();
nome.remove(0);
nome.clear(); >remove todos os elementos<
nome.size();
System.out.printIn(nome);
}
Java - Anotações 9
VALIDAR SENHA
public static boolean isValidPassword(String password) {
boolean isValid = true;
}
String upperCaseChars = "(.*[A-Z].*)";
if (!password.matches(upperCaseChars )) {
}
String lowerCaseChars = "(.*[a-z].*)";
if (!password.matches(lowerCaseChars )) {
}
String numbers = "(.*[0-9].*)";
if (!password.matches(numbers )) {
Java - Anotações 10
System.out.println("Password must have atleast one special character among
@#$%");
isValid = false;
}
return isValid;
}
Classe Math
A classe Math não pode ser instanciada, ou seja, não podemos criar um
objeto Math. Seus métodos são todos estáticos, o que significa que
podemos utilizar diretamente sem precisar criar um objeto.
Exemplos:
double raiz = Math.sqrt(144);
double pi = Math.PI;
double seno = Math.sin(45);
String
Java - Anotações 11
String sobrenome = nome.substring(7);
Arrays
Date
Ela representa uma data como um número long, que representa o número
de milissegundos desde 1º de janeiro de 1970.
Exemplos:
Date dataAtual = new Date();
Java - Anotações 12
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
Calendar
Ela é uma classe abstrata, ou seja, não pode ser instanciada diretamente.
Método equals
Java - Anotações 13
Pessoa outraPessoa = (Pessoa) obj;
return this.nome.equals(outraPessoa.nome);
}
return false;
}
}
Método hashCode
Wrapper classes
São utilizadas para utilizar tipos primitivos em locais que exigem objetos,
como em coleções.
Java - Anotações 14
Autoboxing e Unboxing
Enum
São utilizados para representar valores que não mudam, como os dias da
semana ou os meses do ano.
Exemplos:
public enum DiaSemana {
DOMINGO,
SEGUNDA,
TERCA,
QUARTA,
QUINTA,
SEXTA,
SABADO
Generics
Java - Anotações 15
São utilizados para criar classes e métodos que trabalham com um tipo
específico sem precisar definir esse tipo.
Lambda expressions
Stream API
É uma API nova em Java 8 que permite trabalhar com coleções de forma
mais simples e eficiente.
Java - Anotações 16
.filter(n -> n % 2 == 0)
.mapToInt(n -> n)
.sum();
System.out.println(soma);
Java - Anotações 17