"Olá, amigo!"

"Oi, Ellie!"

"Hoje vou falar muito sobre aulas em Java."

" Explicação nº 1 . Vou começar com uma analogia. Todas as coisas no mundo material consistem em átomos. Existem vários tipos de átomos: hidrogênio, oxigênio, ferro, urânio… Combinações desses átomos formam diferentes moléculas, substâncias e objetos".

"Esses átomos têm algumas estruturas internas, como elétrons e um núcleo composto por prótons e nêutrons."

"Sim, eu sei um pouco sobre a estrutura dos átomos. Afinal, sou um robô!"

"O mundo de Java é estruturado de maneira semelhante. Os programas consistem em vários tipos de objetos (classes). Diferentes classes, por sua vez, contêm diferentes estruturas internas (variáveis ​​e métodos)."

"Se olharmos para um programa como um todo, seus blocos de construção constituintes são objetos. As classes são os tipos de blocos. Em outras palavras, diferentes tipos de blocos são objetos de diferentes classes. "

"Eu acho que entendo."

" Explicação nº 2. Quando precisamos de um novo tipo de objeto, criamos uma nova classe e definimos a maneira como seus objetos internos se comportam. "

"Isso soa um pouco geral demais. Parece claro, mas você não disse nada de concreto."

"Em termos de estrutura interna, uma classe consiste em métodos, que fazem algo, e variáveis, que são usadas pelos métodos para armazenar dados. "

"Então, seria mais simples dizer que uma classe é um conjunto de métodos?"

"Quase. Para ser mais exato, uma classe é um grupo de métodos relacionados e variáveis ​​compartilhadas usadas por esses métodos para armazenar valores diferentes."

"Entendo. Para criar uma nova classe, primeiro precisamos escrever esses métodos..."

"Sim. E também precisamos decidir quais variáveis ​​os diferentes métodos compartilharão. Extraímos essas variáveis ​​dos métodos e as colocamos na classe, ou seja, transformamos variáveis ​​locais em variáveis ​​de membro (instância)."

"Basicamente, uma classe é criada assim:

1. O programador decide quais outros objetos eles precisam.

2. O programador divide esses objetos em tipos diferentes, dependendo do que eles devem fazer.

3. O programador escreve uma classe separada para cada tipo.

4. Em uma classe, eles declaram os métodos e variáveis ​​necessários.

5. Em cada método, eles escrevem comandos para fazer o método fazer o que eles querem.

6. A aula está pronta. Agora você pode criar objetos da classe."

"Legal! Que padrão interessante! Vou precisar me lembrar disso."

"Memorize. Será útil. A filosofia de programação que exige que um programa seja dividido em objetos é chamada de programação orientada a objetos ( POO )."

"Java é um exemplo clássico de uma linguagem OOP: em Java, tudo é um objeto."

"Estudar Java consiste em duas grandes tarefas: aprender a escrever suas próprias classes e aprender a usar as classes de outras pessoas . Hoje começaremos com as mais simples. Aprenderemos a escrever as classes mais simples e, claro, , como criar objetos dessas classes. Objetos também são freqüentemente chamados de 'instâncias' de uma classe. Eles são sinônimos; ambas as expressões estão corretas."

"Entendi."

“Para resumir, poderíamos dizer que uma classe é um miniprograma: alguns dados e funções que usam os dados para fazer algo. Classes são usadas para criar instâncias de classes, também conhecidas como objetos.

"Para criar um objeto, escreva ' new class_name()' no código. Aqui estão alguns exemplos:"

Exemplos
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"Um objeto tem duas propriedades interessantes:"

" Primeiro . Cada objeto armazena sua própria cópia de variáveis ​​de instância. Isso significa que se as variáveis ​​de instância x e y foram declaradas em uma classe e 10 objetos dessa classe foram criados, então cada objeto terá suas próprias variáveis. Mudando as variáveis ​​em uma objeto não afeta as variáveis ​​em outro objeto. "

" Segundo . Ao criar objetos, você pode passar diferentes argumentos. Esses valores são usados ​​para inicializar o objeto. Um pouco como nomear um recém-nascido. Muitas classes requerem tais argumentos para criar instâncias (objetos) da classe. "

"Entendi. O que você disse sobre variáveis ​​de instância?"

"Cada objeto tem seus próprios dados. Essas são as variáveis ​​de instância."

código Java Saída da tela:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
Oscar
borrão