Buscar

OOJava

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

���������	�
���
�	����	�
�����������	�	��
��������	�
	������	
	����������������������	��	�����	��
���
�������������������������������
������� ��!������������!�����"��	������	�#$$$��%	����	
������������	������&���������	���
'�������������
������������������(���������(��)$*)#$$+(��)$*$,)����+$+-�� �����
�
���������	
	��������	���	
�����	����	���
�	
�	�����������
�	�	�����	�	����	����������	����������
./�
�	�����
����	��	�����
��	���������
��	��	
	�������	�����	�
������	0���1�������2'��.
�����������1.��	���
1�������2'��3��	��������3��	��
��133����
"������	����������	��������
�
�	�	��
	�������
�����
�����������������	��������������"	
�	���
����
�	������	
�
'���	��	
	�����
��	�����������4�	�
���
��2����
��	
���25	
���� �������	���	���������2'�������&�����!
��������
�	��������������
�4�	�
'�����6�	�
��	�����	��	������		��	�������������	��	�
	�	�	
����	�������������	
���
"��
	����������������	���	���������2'��7�4�	��	���	�
���
��&	���
� �	
���25	
�	� �	4��
���
���
�	������	
��!
��
�	����	� �� ���
���2'�� �	� ���	��
� ���
� �	��6
����
� ��� ������� 	�� ���������� ���
� �8�	�
� �	� 
	�	�� �������
� 	�
�����		�����
��
9���
� �����������	/	������� �	��	
	���2'���	�����������9���
��	
�������4�	�������	�������������	����	�
���������	�	��	�	
	��������
"��1.������	/	���������������7��	��	
	�����������������������	����25	
����	� �
��	��:�������	
���
8�	�
�����
���������	����	
������������	�	����	��
������������	��;�����������
	��������	�����8�	�
��	���	�����������������
	��
���	�������������	�	��	���
�������	�6
����
��9��<��	�	�	��'����������&������������������	
��=
�����8�	�
����������	�
� �����������
���
����25	
����������������	
��
�����8�	�
������4�	����������������	��
8����133����������7���
���������������	���2'���	�
	�
����������	���
��
��
����25	
��	���������
������8�	�
��
4�	�����<����	
��������������������������	���2'���	
�	
���������
�	����������	���
��	
�����	��������	������
����2'���	
�	����	���7�
����	
�	� ��&�����4�	�	�	�
	��� ��������&��������	
����	����
	���������
����������
��
"	
�	���
������������������	�����������	��
��	�
��	�����	��
�	��'��	�����25	
�	�����8�	�
�
	������
�	�
����
�
���� 1.� �� ������������ 7�4�	� 
��	�4���
� ���25	
� 	� 4���
� ����8�	�
� �	��	��	�� ��� �����>� ��� 133�� �� ��:�����
�������������������
�����������������������
�����	���2'���	
�	
���������
�	����������	���
�	�����	��
�7�� �������	�?	����
����	���?��3�	����
����	����
����7�� �	����	� ���� 4�	� �
� �������25	
� ��
� ���	��
� ��4�	�� 	
�������
�� ���������� �� ��	
�� �� ����8�	�
� 	�
���25	
�4�	��'���	�	
�����
	������������
������	
���
������������	�����
�����	���2'�������	��
��8�	/�
�	� 8�+@����
�����7���	���������
��
��������	�
�4�	�
���������)�������	���	��	�	�
���� �����	����������	��	� 	/�
�	�� �������	�
�� ���
� ������� 
�����4�	� 
�������������	���	��	� �����	���2'����
���	��
��A	��������
�����������������	
������	��
�����	�	
���������	
	�2���	��	����	��
��������
	��
���	�	��
	�	���	�����
��B	����
����	��
��'��
���	������������
������������	
��	��	�����
��	�	
�����	�
��� 	
4�	��� �	� 	��	� ����� ����� �	���&��� �� ���
���2'�� �	� ��� ��7���� ��� C������� ��� ��7���D��� ��� ���������
�	�	
�����	��������
	���������������	��
���
	���
��	
������
	�������
	�7������
	���
	���	
4�	�������	�	�����
4�	� ������� ����� ������ ���	��
� ��� 
	�� ������.
	� 	
4�	��� ��� �	�	���� �������4���
� 
'�� �
� ���������	���
�� �
�
������	�6
����
�	���	
��������������	
��
�������	�6
����
���
����	��
�������
�����������	����
����	�	
�����	�����
�����
	�7�������������	
4�	����	�����������	��:�����
�����4�	��������������
����	��
�
'��������
��4���
��
�
	�
����������	���
�	�����8�	�
��	�	
������1�����������	��������������
	����<��	�	������&�����
	�����	�
����/	#0�
[ palavra-chave ] ‘class’ nome_da_classe 
‘{‘ 
 // comportamentos e variáveis são declarados e descritos entre o ‘{‘ e o ‘}’ 
‘}’ 
 
+� B�� 
	��� ���	
	��� !�� ��
� ����������� �����
 	�� ��� 
��������� ��������������������� ������� �� !E����������� !����� "��	��	�� #$$$��
%	�����	����� ��	���
������
#�1�	
�	� ��	�2'�� ��� ����	�2'�� �	� 
����/	� �����&���0� �
� ��	�
� 	���	� ���� 	�	
� 
'�� ��������
� 	�� �	����	��	�� �	�	�� 
	�� 
��
����6��
� ����
�������
)� ��	��	��� ���
�	��
	����������:����>��
���	�
�	���	���:
����	
�
'���������:���
�	�����	
����	����
��������
����	
�������
�
����������	�>��8��
���	�
�	����8�����
'���������:���
����
����<����	������&���4���4�	����	����������������������	
�	�4�	��'��
	����	
	�������
������	��	
	��8)��
�� 
F����� ����� �	������� ���� ���
	�� ����4�	� �� �������� �����	 
	������ �	� ��� ��	����������� ��	��	
	������ ����
��������	
������4�	���8�
	������	����	�����������
	��3���	��������������	�
	��4���4�	���������������	/�	2'���	�
������� �������� �	
	������ ��� �������	�� ���� 
	���� ������ ���������� 1��� 	/	������ �����	 ������ �������&� ��
�	�����2'���	�������������
	����	������	7������	�������
	��"��	�4�	����������	�2'��������	��	��������
	�
�������
	���	����������	�������G
������
�� ������������
� 7� ��������� ����
� 	
�8� 	���	� ���� 	�	
��� 	� ���	� 
	�� 4���4�	�� ���� ��
� 
	�����	
0� H���������
H��������� 	!������	�������������	!"�������
#�����
	�	������������
	 H������I��
	���
���:
����	
�������������������	��	����
	�4�	���
��
	�������&����	��
4���4�	�����������
	��	�4���4�	�������������������	J��K	����<��'����������������������	��	��	������	�����2'��
�	����
	��	���
:����	�8�
	�������&�����	���������:������	������������������	��������L����������	�
���	�����4�	�
���<� ���	� �	����������
� �	� ���� ���
	� ���� ��4������ ���7��� 
��	��	� ���� �	��
� ���	�8� 
	��������� ��G��������
"	
�	���
��������	������4���������:����)����	��	�	�8�
	�����	
���������
	��G��������
./	����0�
public class MinhaClasse 
{ } 
"	
�	���
��������	������4��������	�� ���������
� �����	��������	�	�
	�� ������ ���������
$%�����A	�������
	
�����
	� ��G�������	����������4������'��7��	��������	��	�	��	�������	�������������������"��	�4�	���
����
���
��	������	�	��	
� �	���
����G
����
� 	����G
����
��F����������	���� ���
	� 	������	���� ��4������	�	�� 
	��
	/����	��	������
��	���	���
��	��	���
����G
����
�	����G
����
���!
��
���������4�	������	������4������	�	�
	��
	
������������HMI����G
�������	�M�� ���	�H�I����G
�������	����
	����
��	���
��	���
��	�	��
	�����G
����
��
#�����
	�	������������
	!�����������������������4�	������
	�����	
����	����������
	���
����������
	
���
�����
�
�'�����	��
	�������&���
������������2'���	����	��
��.��
�
:�
	��	�������C���
	
)���D�������4�	�C���
	
)��� �
D�
	����������
�����������	��
���
#�����
	 �	 ������������
	!"�����	����� �	������� ���� ���
	� ����������
	
� �����
� �'�� ���	�� 
	�� �����&���
� �����
���
	
)����� ���	������ ���� 4�	� ���
	
)��� �
� 
	���� ������
� �� ������� �	��
� �	� 	��	�� 
	�� ���������	���� 	�
	
����
����
.
�
��������
)� ��	����	��
	�������&���
�	��4���4�	�����	���9��<�
:��'�����	�	
�	���������������
	������
	���� ��
������ 	� ������ ����	
��� �	����� ���
� �
�� �'�� ��&� 
	��������8�4�	� ���
	
� ��
�����
� 
:� 
	��	�� ����� ��
����2'���	����
	
)��� �
�	����
	
������
�
:�������������������
	
���� �
���
��������
	���
������C�����D����	����<��	�������
����������	���
���7����
��	�����8�	�
��	�	
��������������
�
��������
���3����������	2��������������	�	�H�&	H		��	������������������	�	�H�'	I��
���	
���
�������
;�����	���7�������
�N������	��������
	��1�������������������������&	���
	�����	�
����/	0�
‘new’ construtor 
3����������
(��4�	�
��������������	��!���<
�������7����� 	������������	�������	�����2'����������������
���	��������������	�:��������������	���	���������&�����	
���	�:��������������	
��	�����������'����3���������
�
(	�	�	
�����	������	�����0���������������4�	�7������	��	�����7�����	
�	�����4�	����
��:�������	����;���
�	&����
���6���������	����	�	�
	��������6�������������8�	��������4�	���
��
	�������&����	��	�	�	������������������
1�	
�	���	�2'�����	/	�����
	�����	0�
class Pessoa{ 
 } 
class ProgramaExemplo{ 
 public static void main(Strings parametros[]){ 
 Pessoa umaPessoaQualquer; // declara uma variável que pode armazenar objetos 
 // do tipo Pessoa (definido na classe anterior) 
umaPessoaQualquer = new Pessoa(); // cria uma nova pessoa e coloca-a na 
 // variável umaPessoaQualquer 
 } 
} 
 
3
 Pacote é o nome dado a uma biblioteca de classes desenvolvidas na linguagem Java. 
"��	/	����� ���	����� ���� �	����������� ���
	� � ������)
����� 	� ��:
������������������������� ���� �����������
����8�	��� ���������)
����*�����
������� �	�	�	��������	������ ������	
��� ����	�4�	��� ������������8�	��7�
1	
���� ���
� �� ����8�	��7��	���������	� ������ 
�������=��	�����2'���	�����8�	�
���� ����� ����4���4�	�������� �����
������������������	������:
�������������	�����������1	
���7��������������7
�������������
(	)
����+,��.
	�
���	���7�����������������8�	������)
����*�����
�������7
�������������	��������2'���
������	���������
.�� 
����� ���<� ���	� ������ 	� ��������� ��� ����� ���	��� ����������8�	��� 
�������	��	��	��B�
��� �������� ����� ���
�	
������ �����
	�����	������0�
Pessoa umaPessoaQualquer = new Pessoa(); 
�������
�����������
���������	��
�����
��	����	
���
��������	��	��	
������4���4�	�����	���4�	����<��	� ���������	��'��	
�	������
�
�
������ .��� ��&� �
�� �����7
� �	� ��� ����	
�� 	
�	����� � ������ ���
���	 �
	 ��-�	 �������	� ����	������� 4�	� 7�
	/	������� 	�� ���	�����
� �	�����	
�� 	/��������� ����� ���	��� ����� �	�� 
	� 	�	� ������7� �	�	�	������� ���� �������
����8�	�����
�������	����'��
	��������&��������	��
�������������8�	���	�	�7��	
���6���	�
����	�:����7����	������
�	������������	�	
�����	����	
���	������������ ������
.�� 
����� �
� ����8�	�
� ���	�� 
	�� ��������
� 	�� ��<
� ���	�����
0� ���������	 �����7�� � �����
� �	� �����
���
���.�
����		�����/�
��	��������"�� ��6�����	
���
	2'��
	�8�	/��������������	���� �����O�������������3
��	���
�
����
�
	�'����
������
�	����������������
��7����
�����	
	�����
�	��
	��������
����	�	
���	���������
;��������������������7���������8�	���	������������������	��������
	��.�	�
	��	����������&	������
�����	�
	
��	��%
��	�	��	
�	���
��7�� �������	�����������	���
�N�����������
�����	�
	���	�����
	�����������	����
	�����
����/	��	��	�����2'���	�������������7���
	�����	0�
[ ( ‘public’ | ‘private’ | ‘protected’ ) ] 
 [ ( ‘final’ | ‘volatile’ ) ] 
 [ ‘static’ ] [ ‘transient’ ] 
 tipo_de_dado nome_do_atributo [ ‘=’ expressão ] ‘;’ 
���	�����2'���	�������������	
�	���������
	�����	��
	��������4�	����	�
	�������
�����
��������
�����
�����������
�����������
��"��������������	��	��������
	�������0�����	��	)
�����������	/��	
'������������4�	���������&��
�������������	
�	���������	
��	���	
��	������������	
��9��<����	�����4���4�	�����	���������������	
�	�4�	�	
�	�
���	� �'������	
������ �������������)�	
	��������� �������	���1���4�	
�5	
��	��������&�2'��������	��	����
���������
	���	����	2�����������	�������G
���������
��	�	���	/	����0�
class Empregado{ 
 String nome; // o nome do empregado 
 double salario; // o salário do empregado 
 int idCargo // identificador do código da função que ele exerce 
} 
"	
�	�	/	�����������
	�� ������1���
������	��������<
���������
0����
�����/����	������������	��������������
���������
����4���������<������ ������	������ �����.���	�������� ���������	�����7������ �	�	�<����������
���� 
������ ����	���� �� ���	� ��� 	���	������ 3� ������ 
��8���� ����&	��� �� 
	�� 
��8����� 	� �� ������ ��������
����&	�������G�	���4�	���	�������������	������������2'��4�	�	�	�	/	��	����	���	
���
!�����"��	���������	������
3��������	��	�� ���<� ���	� �����&��� ���� �������)� ��	� ������������� �	� ��	
�� ��� �	������� ��� ���������� �
�
�������
)� ��	�������������
��	���	
��
'���
�
	�����	
0���������������
��������
��
���3��������������	���	
��
�	�	������4�'����	
6�	�������������7���������:������	������
����
	
����
	������������.
����	
��������	����	�
��������	������	���	��	�����	
6�	����7������	���	��	���	
6�	���
K	� ���<� �'�� 	
�	�������� ��������������� �	� ��	
��� �� 
���� �
��	� �� ��	
�� ����'���4�	� �	����	� ����4�	� ��
������
	�����	
6�	�������
	����4����	�	������	��������	�����7��������
��
����
	
�	/�
�	��	
�����	
�����4�����
��:����)����	����������	���������	����	����
	
��������
	�4�	����	���������
K	� ���<� �	������� ��� ��������� ����� 
	���� �������� �������
��� 
��	��	� �� �:����� �������� ��� 
��� ���
	� ���	�
��	
8)���� .
�	� ��������� �	����	�	�C	
�������D� ����� 4���4�	�� ������ ���
	�� � �	
��� ����� �
� ���
	
)��� �
� ���
���
	����4���������	����������	
�	���
���	��
����
	��	�� 	��8)������
��'�����
	��	���������8)������
K	����<��	������������������������
	�����G�������������������:����������������
������
	�	�	������
��
������
�
���
	
�	��4���4�	�������	���������	�������	���	
8)����
;�� ��������� ����	����� �����
��
��� ��
��� �� �6�	�� �	� ��	
�� ����'��� ���7��� �
� 
��)���
	
� ����
	
)��� �
�� ���
���
	��������4���������	������������7�����	�������&8)�����
class Empregado{ 
 public String nome; // seu nome (visível à qualquer classe) 
 private double salario; // seu salário (inacessível fora da classe) 
 protected int idCargo // código do cargo (acessibilidade padrão) 
} 
��� 	 �"���� 	 ����	 ��
	 �
��
�	 ��	 ����"������
�	 �
	 ����P� B	��� 	�	
� 
'�� �����&���
� ����� ����	�	����� ��
����	���� �	� 
�����
��%�	 ��	 
����
���	 �
	 ��"����23�	 ������������� ������� 	� 	����
����	����� 1����
�����		��	���	� ���� ����
� ��&	�� ���� ��������0� 
���� ��4�	� ���<� ���	� ���
	
� � �����
� �	��������4�����
����23�		�)���3����������	������������ ��������
��� �
��������2'��	��
�����5	
��	������	
���������
	�
������ �	������ ��������
� ����� �	�	�	������ �
� �� �
�� �� ����2'�� 	� �
� ����5	
�� ����� �	���
������ ��� 	/	�����
	�����	0�
public class Corpo{ 
 public Olho olhoEsquerdo,olhoDireito; 
 private Coração coração; 
 private Pulmão pulmãoEsquerdo, pulmãoDireito; 
} 
3
���������
�����1���
����	�����5��
����
'���G�����
����4�	��
��� �
���
��	
��
�
'����
6�	�
������4���4�	��
��
	�������� 
8�������23��� ������3�1���
���		�������3�5��
���� 
'���������
����4�	��
�:��'�
�4�	� 	
�	
�
��������
� �	��	
	����� 	
�'�� 	
�������
� �	����� ��� ������ �	� ���� �	
���� K	� 	�	
� ���	
	�� 
���� �	�������
�
�G�����
�������	
����	����
	������2'��	�����5	
�=���
������M�����	
���� ������<��'���� �P�
#���"��	������
9��<� ���	� �����&���� ���������	��	�� ���� �������)� ��	� ������������0� "����� ��� �������
� 	(��� ������� 	(���
������
����
K	����<������&�����������������"���������	�����2'���	���������������������������
��	�4�	�	
	�������7�����
���
����	����������8�	��
��	��	��	��	������4�	��'�����	�
	���������������"	
�	���
�����������������&����
�	
�	�
�����&�25	
����	���
�����:�������������������8�4�	��	�
��	�4�	�	
�������8�	���'��
	�8������������	�����	����
���������	/	��2'����������������
3�	/	����� 
	�����	��	������ ��<
� ���
����	
��"��	�4�	� �
� ���
����	
� 
'��������������	��	� ��������&���
���� 
���
�	�����2'�����7����
�������
��
��	���
�������	��	��������
����	�
'�����G
����
����������	�2'����
�������<�
���	� �������	��	� 
��	�� 
	� 	
�8� ������ ����� ���� ���� ����8�	�� ������ ��� ���� ���� ���
����	� ��8� 4�	� �
�
���
����	
���
�	������
��
�
��
��	���
�	�����G
�����	��
�����8�	�
������
��'����
class Empregado{ 
 final int FAXINEIRO = 1; 
 final int PROGRAMADOR = 2; 
 final int GERENTE = 3; 
 int idCargo = PROGRAMADOR; 
} 
K	����<��	�����������������������&��������������������������
	 ����8�������8���
�E �	��
� ���� �
��������	
�
��	�
	/	��2'������	����	
���	
	�����������"	
�	���
�������:�����������������	���&�����
�	
������4�	�	
	����������
	�����	
��������	���	��	���������������	��
��
	��4�	��������������	��
��
K	�����������������	�������������
	������������	
�8����������
��
����	��
���������� ���������&�������	
����:����
��� ����8�	��� K	� ��� ��
� ���	��
� ��������� 	
	� ��������� ����
� �
� �����
� ���	��
� 	�/	����� 	
�� �	
���
��������2'���"	
�	���
��������������7����
��	������������������	����
	�	��'���	����	����K	����<��'��	
�	��������
�����������������������������	���������
������
����:����	
�	�6������	
�	�����������
������	��	���������������������
����������4�	�������������'��
	�8������&����	��������	��2'���	�
	�����&�2'�����
���	����
�����	����	����4��������	������	�������	���������������������������������������.
	�����	
���'��
	�8�����������4��������������������	
��������25	
�����
���	����.B��������������	�
������
���������������������$����
��%
��	&�
;�� ��������� �	� ���	��� �����7�� ��� 	����� ���� ��������� �	� ��
�N������ 7� ���� ����8�	�� �	�������� 
	�� ��
��������������������3
���������
��	���
�N������	��	��	���
'���
������
����
����	��
�	��'��=
����
	
��Q������
�������������	����	���7�������������
��	��	������	�����4�	�	�	��	��	��	�	�/	���������	��2'����
�����4�	������
���	�����
�����
	����;������������	����	���������
�N������7��������4�����������	���7������������������
(��	�7�
�	
���6���4�����������	�����4�	��	��	��	������	
���6�����
9	�����	/	����0�
class Empregado{ 
 public int cargo; 
 public void contrataComoProgramador(void){ 
 cargo = 2; // Dois é o código de programador 
 } 
} 
1������	
���������������	����	���	������7������	��	��	��	�=��	
������
	����4���������	������������������
	����
����7���������7���	��	��	��	�������	�����
����	
�	��	�	
�	����4�	������	�������������������	��������8�	�����
"�� 	/	����� ���	������ �� ��������� ������ 7� ��	
���� 
����	
�	��	� �	��� �����&�2'�� ��� 
	�� ���	� ��	��� �� ��� ��
����������
K	����<�4��
	����	
���������������	������7������	����������	�������<������	�	
������	������	�	�<����������
����8�	��� ��� ���	��� ��� 4���� �� ��������� �	��	��	�� ;����&	� 	
�� ����8�	�� ����� ��	��/�� ��� ���������� 
	������ ���
������	�	�H$I������������:
��	
�	����4�	�������������	
	����0�
class Empregado{ 
 public int cargo; 
 public void contrataComoProgramador(void){ 
 cargo = 2; // Dois é o código de programador 
 } 
}�
class ProgramaExemplo{ // Esse programa utiliza a classe Empregado (anterior) 
 public static void main(String parametros[]){ 
 Empregado empregado = new Empregado(); // cria um objeto empregado 
 
 empregado.cargo = 2; // muda o atributo cargo de um empregado 
 } 
} 
"��	������	�	�2�0��
��7����
�������
	�1���
����	���	�������&�����������������������
���
��
>��8��
��7����
�
������
	�)�������1-
����	�	�	��
	���	�������������	�����������.���	�����	������&���	
	����	���������	��
��	
���������������
���
����$��������!
��
	��	������4���������<����	���8���
����	��
���8���
�	���	����
��	�
�	�	
��������	����������������	�����	�	
��!�����	�4�	�
	������������	� ��4����������8�	�
���������	���	�����	�
����	�	
��	� ����������	��������.
�������2��7��������8�����	�
	���	�������
������<����������4�������	����4����
	���	������4�	���	�	�
���	�������	��2'���
	���������
	������������������	�������0�
class ProgramaExemplo2{ // Esse programa utiliza a classe Empregado (anterior) 
 public static void main(String parametros[]){ 
 Empregado empregado1 = new Empregado(); 
 Empregado empregado2 = new Empregado(); 
 Empregado empregado3 = new Empregado(); 
 Empregado empregado4 = new Empregado(); 
 
 empregado1.cargo = 3; // muda o cargo do empregado1 para gerente 
 empregado2.cargo = 1; // muda o cargo do empregado2 para faxineiro 
 empregado3.cargo = 2; // muda o cargo do empregado3 para programador 
 empregado4.cargo = 2; // muda o cargo do empregado4 para programador 
 } 
} 
Q������ ��M84�����9������� 
���� �M9
����9������� 
����M�� ��	�O� 
9M��4�	�7��� ����������� �������� ���	����
���������	��
����7�	/	�������������������	����	����������	�:�������������
��
���������
�������	���	�&	���	
��
�	�:�������������&����)���.
	����������������	�	��	����������������������1���������	��������	���������	��������
�������� 7� �
��� �$� ���$�$��� 3
� �����	
�����
����	 
'�� ��������&���
� 	��"���
	 ����
���� 1���� �
��
����	 �����	 �	�
��������
���	�	�<����
����
���6��
�����������	������
����
	
������������������7�6#
	��������
���������������	�����
;������������	����
	�7��������������	����������������������������������3
���������
��	����
	�
'���
������
�
���������
	�	��'�������
����	��
�������
�N����
��������
�����������	����!
��
���������4�	�4�������������������	�
���
	�7�����������������
��
����	��
�������
��������������	
������
	�	�/	����������	��2'���9	�����	/	����0�
�class Empregado{ 
 static int numeroDeEmpregados; // atributo de classe 
 public int cargo; // atributo de instância (objeto) 
}�
class ProgramaExemplo3 { 
 public static void main(String parametros[]){ 
 Empregado empregado1 = new Empregado(); // cria um objeto empregado 
 empregado1.numeroDeEmpregados = 1; 
 empregado1.cargo = 2; 
 Empregado empregado2 = new Empregado(); // cria um novo empregado 
 empregado2.cargo = 3; 
 empregado2.numeroDeEmpregados = 2; // modifica a variável de classe 
 System.out.println(empregado1.cargo); // imprime o cargo do empregado1 
 System.out.println(empregado1.numeroDeEmpregados); // vai mostrar 2 
 // porque a variável numeroDeEmpregados é da classe Empregado (inteira) 
 // e não somente do empregado1 ou do empregado2 
 System.out.println(empregado2.cargo); // imprime o cargo do empregado2 
 } 
 } 
"��	/	��������	������4��������������������	��A	.���	����
�7������������	�������
����	��
������
�
���	��
���	
������	��2'������
�����	�	��	��������������	����	�������	�����������
��������:�������	�	��	���������������
	�	��	��	��	�=����
	�	��'��������	����
K�������	��	�����<����	��	�������7����
��	����
	�	��7����
��	����	���������2'��������	�������������7����
	/	������"��	�4�	�	���
	���	�7��	����������������7������	����
	�����
���
�����������������������0��������
�����������������K�����������	���
RS���0����	����	����
	�������	��	�
23�	�
�����
7	5
��������	���������
4��
���23�7	8��������	�
	�����
�	�3�	��	������	����	��9-����	:	����/�
��	�������	��
	�	�������
�	;���	
�"
�
�
$	
��
��	
����
;�����������
� 7� ���� ����8�	�� 4�	� 
:� �	����	� �� �	������ ��� 
	�� ����	G��� ��������� ;��� �	&� �	�������� ����
���
����	� �'�� ���	� ���
� 
	�� ������������ �
� ���
����	
� 
'�� �	�������
� �����7
� ����������)� ��	� "������ �
�
���
����	
�����7�����	��
	���	����
	�����	����	����1���4�	
�5	
��	��	��������	��
	���	����	����
����	
��	�
���
	����������	/	����0�
class ProgramaExemplo4 { 
 final static TOTAL = 10; 
 public static void main(String parametros[]){ 
 int contador = 0; 
 while(contador < TOTAL) contador++; 
�������������������T�
�������������T�
.
	�	/	�����������������
����	�� �������4�8
�	���������&�)��������������+$��3��������	�E3E�F��'�����	�
	�� ���	����� 	�����	���� ��������� ������������
�����<� �	��	� ���	�8)��� �� ����������� 
���� ���
��8� ��� 	�����
"��	� 4�	� �� ���
����	� ���� �	������� ���� �����	 ��	 ����	 �
����	 
�	 "������	 ���<������� ��	
��� �	� �'�� 
	��
�������:���� ��&	�� �
��� ���� 4�	
�5	
� �	� �������&�2'�� �
� ���
����	
� 
'�� 	
�����
� ���� �	���
� ���G
����
�� A	
�	�
������ ���<� ���	� ��	��������� ��� 
	�� ��������� 4���
� ����8�	�
� ����	
����	�� �� ��������
� �����
� 	� 4���
�
����	
����	�������
����	
���
;����&	����
����	
��	��
�
	�����	
���&5	
0�
+� ���
����	
��������������	������	���	��	����	��������:����)����	�����
���&	�����
�
	���������4�	����
�G�	��� 
	�� 	/�����2'�� �E�M�"U3-A3-9.E3%�� ���� 	/	������7����
� 
����������������4�	� ��
�G�	���#$�>�
#� L� ���
� �8���� ���������� �� ������ �������� �	� ���� ���
����	� ��� 4�	� ������� ����
� �
� �����<����
� �	�
�	�	������������������:����)����	��
������4�	����<��8����	��	�����	���������������
�����<�������	��
������	��	�����	�������	������&����7����
��
����	�	
���� ������
���������	��
���������&�����	����������������
	��	�	��������	� �
��	��:�����4�	�
'���
������
�=����
	
��K	��
�
��������
�
	��	�����������	���������&	������	
�����������������	�������	�����
��7����
�
	��	��������	
��	�	��
�
����������	���
��	�������	���������
	��;���7�����7�������
����������������2'��	���������	�������������
���	�	�2��7�4�	��
��7����
�����������	��
����
'���	�������
������	���	��	��	������	��������
	���
1�����	�����������7����������&	���
	�����	�
����/	0�
[ ( ‘public’ | ‘private’ | ‘protected’ ) ] 
 ( [ ‘abstract’ ] | [ ‘final’ ] [ ‘static’ ] [ ‘native’ ] [‘synchronized’ ] ) 
 tipo_de_retorno nome_do_método ‘(‘ [ lista_de_parâmetros ] ‘)’ 
 corpo_do_método 
�� �	�����2'�� �	� ��� �7����� ���
�
�	� �	� ���� ����������� ��� �7����� 
	������ ���� 
	�������	 ��� ��
���	 �
	
�9������ �� ����������	 ��	 ������	 	
�	������� �� 
	�� ���
�� ����	 �
	 �
������� �����	 �
	 ���.�
������
��
��"������
�	�
	��
���������"������
�		��
������	�
	
-�
23�	4�	����7��������	��	�����	/�	25	
�
	�'��
��
������
�	��������������	������3�����������7�����7��������������������	��������
�4�	�
'��	/	������
�
4���������7�����7�� ������ ��������������7������3��������	�����7�����7� 
	���	��	���������	������	�
���� 	�	
�&�'��
3����
	����7�������	�������)���.
��� �������	���������������	��4�	��'������	
�������������������)�	
	������
����������	��
������
1�	�	�	���� �� ���	� ����7����� 8� 
	���	� �� ����	 �
	 �
�������.�	� ��	�������� �� ����� �	� �����4�	� ���7�����
�	����������	����������������7��4�	����7������'���	������������3
������	
���
6�	�
������	�	�
'�0�
+� ;����
�����
��	�����
����������
0�����
�����=�
�������������
��"���������������	��������>�
#� ;����	�	�<�������������	�������	�������
	�������	���4�	�
	�8��	��������>�
J� 3����������������������4�	����7������'���	�������������������
;�� ���� �	� ���<��	
	
� ����	� 	� �	� �)���<��	
	
�� 
	��	� �� ���	� ��� �7������ 1��
	 ���	 �
	 ���>��
�
�	 �	
�������9�����3��������	��	����<����	��	���������	������	
�	
����<��	
	
��������
����	�����8�	�
�
	������
�����
�6�����
������� ���� �	
��
� ����8�	�
�7� ��� 	����� ��������.�
���$	�
����4������ ���7�����7� � ������ �	��
�������������������������������
����	�	/��	
5	
�
	������
������6�����
��� �����
��	������
���������	�
	��
��
���� ����� 	�	��4	 �<�
��	 �
	 �����
����	 
	 �
��	 �����	 �
	 �����	 �
�
�	 �
�	 ������	 ��	 �<�
��	 �
	
���.�
����	
	�	����	�
	�����	�
	����	��	�
�
�	+��	
���
���	����	�	���
���,��	
��
	�����
'�����	
	�����
������
�	/	����
��	��
�������
��	��7����
0�
• int contaAté(int limite) 
Declara um método chamado contaAté, que recebe um parâmetro em uma variável 
chamada limite e retorna um valor decimal inteiro (int) após o processamento. 
• int soma(int a, int b) 
Declara um método chamado soma, que recebe dois parâmetros decimais inteiros: o 
primeiro na variável a e o segundo na variável b. Após o processamento a função 
retorna um valor decimal inteiro (int). 
• void imprime(String texto) 
Declara um método chamado imprime, que recebe um parâmetro do tipo String na 
variável texto. A função processa e não retorna valor para quem a chamou. 
• float sorteiaNota(void) 
Declara um método chamado sorteiaNota, que não recebe parâmetro algum e retorna 
um número de ponto flutuante (natural, com vírgula), do tipo float, para quem a 
chamou. 
9���
��	�����	/	������	�����7����������	����4�	����������
	�������0�
int soma(int limite) Assinatura do método 
 { // início do corpo do método 
 int total; 
 for (int i = 1; i<= limite; i++) 
 total += i; 
 return total; 
} // fim do corpo do método 
Corpo do método 
�
"	
�	� G������ 	/	������ �� ����	���� ��� �� ����	
����	� =� �
�������� ��� �7������ .
�� �
�������� ������� 4�	� ��
�7����� �	������ ��� ������ ��� ����� ���	 ���� �G�	��� ���	���� �	�������� ��7����
��� 	��� �������4�	� ���7����� 
	�
� ���������	��	�	�	�������N�	�����	���������	������ �����������
���
3�����������7���������������������	)���� 	�	�H�&	I��K	��	)
	��	��
	�����������
7��	��	��������
�4�	�	/	������
�	�	�������
� ���	��
� 	�� ���2'��������N�	���� �	�	����� ���� ��
��� �� 
������
��G�	��
� 	/�
�	��	
� 	���	� +� 	���
������ ��
���� ����� ���N�	���� 	�� �����
��� 3� ������ ��� �7����� �	������ 4������ �� �	� �)���� 	�	� H� '	 I�
����	
����	��	�7�	�����������"��	�4�	������� �����	���������	� �)���� 	�	������������
�����7������&�����.
	�
����������&�����4�	����������������8�	��������
	����	���������3�������������8�	������������	���������	�	�
	����
�	
���4�	������	�������������������	��	����������
������������7����������������
����
�'	�	
���$�(����	
��&����� �����
1���� � ���������7��������
	�&	���������
� �����	���
���������7������3��7����� ��	
�� 	
�	
� �����	���
�
����������)�
� ��
� ����8�	�
� ����	
����	��	
� �	� ���N�	���
��� ����	
�)�
� 	� 	��'��� ���������	��	�� �	������ ���
�����������4�	��� �����	
	��7������1���� ���
��	�	/	����������
�
�����4�	����<��	� �������������7�����
�������������������&)4���������	�����G�	���	�4�	����������<�	
�	�����&	����������������4�	��	�	
��	��	
�	�
�7������3��:��������
	������������ �������7������	��8������������&)4����������
���������������G�	�������
4�������<��	
	���
��	���� ���&�4���������3��7������	��8�������	����&)4���������	�	�	��������	������
�������
�������4�	����	���� ��7��	
���	
���� 	����������8�	������������N�	���� ����	
����	��	����:
� ������ �	�����	�
����	
��	��������7����� �	������ �� ���&)4����������������� 
��������������������������4�	��� � ������9	�����
	/	����0��
class Matemática { 
 float raizQuadrada(float numero){ 
 float b = numero * numero; 
 // código que calcula a raiz quadrada do número passado como parâmetro 
 } 
} 
class ProgramaExemplo { 
 public static void main(String argumentos[]) 
 { 
 Matematica funcoesMatematicas = new Matematica; 
 float resultado, 
 numero = 20; 
 // calcula a raiz-quadrada do número 10: 
 resultado = funcoesMatematicas.raizQuadrada(10); 
 System.out.println(“Araiz-quadrada de 10 é: “ + resultado); 
 // calcula a raiz-quadrada da variável número (que vale 20): 
 resultado = funcoesMatematicas.raizQuadrada(numero); 
 System.out.println(“A raiz-quadrada de “ + numero + “ é: “ + resultado); 
 } 
} 
"	
�	�G������	/	��������)�������1-
������ �������7���������*�������	 ���
� ��� �
��������
�����
�����
��������N�	���������	
������G�	�����������	������
���	�������	G����	���������8�	������
	��������A�����	���
� �������4���������7�����7�	/	����������M84�����9�������
�����
����9�������M�� ��	�O�
9M��������	������	�	�
��������8�	��� ���������
���	�������������������
������������N�	���������	
������8�	���Q���4�	����������
	/�
�	��	��	������������������7���������*�������	���	���	
���	������&���������8�	�����
��$	!
�����4�	���
����8�	���	����������������N�	����7���������8�	�������������4���4�	������7������	����	�
	�������&�����	�����
�	�	��	��4���4�	�� ��������������	��	��1���
	����������8�	������7���������
��� 
:����	�
	�������&�����	�����
�	�	� ��
������
��7����
��'����	�/	�������	
���4�	��	� ���
�����	�������
��	�����������
	����
�/�������
Q��������	/	��2'������7�������������
9M��	
��:�������N�	�������
�����
��	
�����
����N�	���
�	��
�����8�	�
������
��	�����7������'�����	�	��
	����	
���
�������	�	��	�
	�	��������
���	����
�����	
	���������	/�
�	�����	�	�2�
�	���	���	
������	�������N�	����	���	
����*��	���������8�	���������
3����N�	�������	��	������	������������������7������	�4������4�	���������8�	�����������	����������������������	�
	��������	���������9	�����	/	�����
	�����	0�
01 class Matemática { 
02 int soma(int limite){ 
03 System.out.println(“O valor de limite é: “ + limite); // OK 
04 System.out.println(“O valor de total é: “ + total); // Erro! 
05 int total; // Problema! 
06 for (int i = 1; i<= limite; i++){ 
07 total += i; 
08 } 
09 System.out.println(“O valor de i é: “ + i); // Erro! 
10 return total; 
11 } 
12 } 
"	
�	�G������	/	�������*����� �����	
	�������	��������
����������������	����������&���������8�	��������	�	���������
�'�� �����
�����	���������6����	������
	���	����/�
�	�����	���
�	�
��	�
�	����	�
�������$	E���7�� 8����
	���������� ��V��"	
�	���
��������8�	���������	���������	������	�������������	������������������������"����	�
	��
	
�������������	�����
�
�	�
��	��	��������������������������	���	���&�	���' 	���������V����� ��	
������8�	���8�
�'��	/�
�	����
��6����	������
	���	����/�
�	�
	��	�����	���
���	
�	��	�����	
-�
�����
9���8�	�
� �����
� ����7�� ���	
	����� ��� ������ �����	��� 	�� ���	�����0� 	��
� �	�	�� 
	�� 	/��������	��	�
��������&���
��
	���	���"��	�4�	������� ��@�������8�	��������7��	���������	���������7�����������!
��
���������4�	�
	��� 7� ���� ����8�	�� ������ �	
�	� �7����� 	� 
:� ���	� 
	�� �����&���� �	����� �	�	�� "��	� ����7�� 4�	� 	��� �'�� ����
��������&���� ������ ��� ����0� ���	 �����	 ?	 @��� !
�� ���
�������� ��� �����	��� ���
� �� ��2�� ������ �����&�)�� �����
���������������������������8�	����	�
	����������������7��	
��� 	������	��	�	����
	��&	�����0
���
	���������
	����	
����/�
��	������	�	"��	�
	
�����	
����	��
	���
�	������	�
��	"����	�
	��	�����	�������	�
	���	����/�
���
./����	������������������
����������� ��+$��.
	����������	��������������������4�	��� ��������7�����
��������
����/	��	
�	���������7���
	�����	0�
‘return’ [expressão]’;’ 
;�����������	��	���������
�
�	�����������)� ��	��
��������������	��	�
	�������	�����
-��
��3������	��
�
4�	���������	��	�������	�����7�����
	�������	�
������������4�	������2'���'���	���������
��������������<��	�	�
	���	�����������:
����
����	����	/��	
'�������������	������
	������������ ������	��	������������2'�����7��
��
���
	���������	��	�������'��������������	/	��2'������7������	�	�
	���	��	�����������������������
������
������������
����	���	�
	�����������	��4���4�	���������	���������7��������
#��	�
�	��
	�	�������	�
����	�
���	����	
-
������ 	����	���
	�	��
	�	��������	����	K	���� ���������
�7������'�� ��&	������	��	����� 	/��	
'��� �� 	/	��2'�� ������������ �������� ���� ������	�����2'��� 
	�����	�=�
� ����������7��������
�������8�������	/��	
'�������������������	������4�	���������
������
���	�����
����
	/��	
'���
 
4
 Escopo é o local ou região onde uma variável é válida. 
!�����"��	���������	������
9��<� �����&��� ��� ��
� 
	�����	
� 	
�	���������	
� �	� ��	
�� ��� �	�����2'�� �	� ��� �7����0� �������� ������
� ���
����
��
���3� 	
�	�����������	�	��������4�'����	
6�	��	
	��7�����7� ������� �:������	������
� ���
	
��	����
����������3���	
���������	�������	��	���	
6�	��=�������	��	�����	
6�	���3����������	����7�������
����������
��
���������
����
��
����	�����	��	���
K	����<	�3�	��������	��	
��
��"������	�
	��
���	��
���������&�����6�	���	���	
������'�����&	��������4�	���
�7�����
:���
��
	��� ���������������
��7����
��	�������
�����	
������
	�	�	������
��
����
	
�����	
���
�����	���
K	����<������&�����	
�	����������������
������������
��	��	����:�����������������	
������
	����	�� �����	
	�
�7����0�
class Matemática { 
 private int fatorial(int numero){ 
 if(n == 0) return 1; // fatorial de zero é 1 
 int produto = 1; 
 for(int i = 2; i <= numero; i++) produto *= i; 
 return produto; 
 } 
 int permutação(int n, int r){ 
 return fatorial(n) / fatorial(n – r); 
 } 
} 
K��	��	��
��7����
�������
	����
�/��������	��� ��������7�����"���������3��7�����"��������7�����7�����
�	���������������7������
�����23�	���4�	�	�	���/����)����	/	���������	�����2'����������	
�	� ��
���	�	� ����
�	���� 
��	��	� ����� ����������7������
�����23��� �'�� ��&� 
	������4�	������
� ���
	
� �	���)��� 	������&	�)����
Q����������7�����	/�
�	�
��	��	��������������
������
��7����
��	��������
	�	�	��	�	�
	���	����������������
�������
��� A	������� �7����
� �	
�	� ����� ������	� �� �������	���� �	� �������25	
� �'�� �	�	����	
� ��� �'��
���������	
������4�	��	
�8������������
	����7���	�����<)���������&����	��8�����	����������	�2'����
K	����<��	�����������7����������&��������������)� ��	�����������7����������)
	���	
6�	������������	�4���4�	��
���
	���
;���7���������
��
�	 �����	������7�����7������������6�	������'���	���	
��������������	�	�2�0� ����
��
�
���
	
���� �
�������
	����4����	�	������	�����������	����	
8)���	
#���"��	������
3
������������	
��	��7�������
���6�	�
�	��
����
'���
�
	�����	
0�������������"�����	(���������		(��������
	
	(����=��������
���
K	����<������&������������)� ��	���������	 ���
�����������<�	
���8� �������������� 
����4�	����	�����2'�����
�
�	�
��	��	�	�������
������������7������!
�����4�	��	��
���������7�������
������7�����7�����
	�������	
�
	���������	��������
���;���7�������
�������'�����	�
	���	���������
�������	��	��	�������
	����"������
�	�����������	���=��������
��	��	��������
���
K	����<��	�����������7�����"������ �� ����������� �
��	�4�	� 	�	��'�����	� 
	�� 
���	)	
������ ������������� 	��
��)���
	
�����
	
)��� �
���
K	����<��	�����������7����������
	������������	
�8�������	�	�
	�8����
��	���������7������	����
	�	��'�����
�7������	����	��
� ������ 
���������
� ��������
��	� ���
	�	��	����	��
��4�	� ��������
������
���� 
	2'�����	�������
"	
�	� ��
�� 	�	� 
:� ���	�8� ��	
��� ��������
� �	� ���
	�� K	� 	
�� �������)� ��	� �'�� ���� �����&����� �� �7����� 7�
���
��	����������
	��������7������	���
�N������W��	����	�����	����	�8���	
���4���4�	��	
�7��	��	����������
��	����
	�����	����	�����
�� �������)���	� �����
� ��������� ������� ����� �� 
���� 4�	� �� ������ ��� �7����� ���� 	
������ 	�� �XX� 	� 	
�8�
����&	�����	����������������	���	
�	�6������	�����������������4��������AFF���"	
�	���
���
��	��	����
��������
����7������	�	�
	���	���������
������	��	�� 
	� ���<� �����&��� �� ������������ �=��������
�	 �
�������&������ 
��	��	� ���� � �	��� ���� �� �	�
	/	��2'��������	&����	�	/	���������7�������
# ����������
��%
��	�
M7����
��	���
�N�����
'���
��7����
��	����	��
��.
�	
��7����
����	����	
�����������
��	���
�N�����	���������
�
�	����
	��	�������
����
������
	��1�����	�����������7������	���
�N�������'��	
�	����4�	����������)� ��	���������
K	�
	���7������	���
�N�������
����������N�	����4�	��	� �����	
������	��	��������������	���
�N��������
���
���
	��
	������
6�	�������������������������N�	���������������������	��	
������	P�K�����
�����	�
	���	�������
	�����	������0�
01 class Empregado { 
02 private double salario; 
03 void ajustaSalario(double salario){ // observe que salario já existe 
 // como atributo de classe! 
04 this.salario = salario; // coloca o conteúdo do parâmetro no atributo 
05 } 
06 } 
"���	��	������� �����7������%����0��������	������������N�	����� ���������������"��	�4�	���������8�	������
��������������	�������	
������	��8� �����
�����	�����������	�����	��	�������� �����
��"	
���
����2'��������4�	�
���<���
������������������������N�	���������������� ��������8�	���8�	/�
�	��	������<��	��4�	������&�������	��/��
������.
���������)� ��	� ��	�������������	��� ������ ��� �:����)����	��Q���������<������&�� 	
	���	��/��� ���<���&�
�������
���0�C��	
	�������������	��	��	��	���	
	����	������������	�7���
	�����	���D��3����	��������������	��
��:
������������������<����	��	�������� ��4���������	/	������
��� ������������&�2'����	�����7������	���
�N������	�	��	�
	����<�	
�8�	������������7����������:��������
	��
���	�	�	������	�����������	���������������
	��K	����<�	
���	��	������������7���������	
������
	�	�����7��
���� ��� �7����� �	� ��
�N������ ��
��� ���<� 	
�	�������� �� ���	� ��� �7����� 	� 
��� ��
��� �	� �����	���
� 	���	�
���<��	
	
0��%����0��/���+AB@$@@,��./	����0�
class Empregado { 
 private double salario; 
 void ajustaSalario(double salario){ 
 this.salario = salario; 
 } 
 void aumentaDezPorcento(void) { // outro método de instância da mesma classe 
 double novoSalario = salário + salário * 0.1; 
 ajustaSalario(novoSalario); // chama um método da mesma classe 
 } 
} 
K	����<���������
����	�	
������ �����������&��������7�����4�	��	��	��	����������������
	���	�	��	������	�
	
�����
������	�������	�������	�����������������
	�4�	�����7�����7�����4�	����<��	
	���� �����	��	���
������&	�
	
	����	��������� ��8)��0�
class ClasseUm { 
 private boolean atributoQualquer; 
 public void metodo(boolean valor){ // método a ser chamado por outra classe 
 atributoQualquer = valor; 
 } 
} 
class OutraClasse { 
 void outroMetodo(void){ 
 ClasseUm objeto = new ClasseUm(); 
 objeto.método(true); // chama o método através do objeto 
 new ClasseUm().metodo(false); // chama o método através do objeto 
 } 
} 
.
	�G������	/	���������7����
����4�	����<��'����	��
���������������	����������	����������8�	�������� �����
����7������	����������	������	/��	
'���
(	�����
#�+,$������+"���
,C	�����������	������������������
	;��
	������	
����	���������������	��	����
�����	�	�<�����������	����	�7��������������� ������
����+,���
K�������	��	�� ���<� ����7�� ���	� 	����	��� � �����
� �	� �7����
� �	� ��
�N����� ��	
�	� 4�	� 	��
� �	����	��
�	�	�<����
���������	��
�0�
class AlôTchau { 
 public static void main(String listaDeParametros[]){ 
 new AlôTchau().alô().tchau(); // chamada encadeada de métodos 
 } 
 AlôTchau alô() { // o método alô retorna um objeto do tipo AlôTchau 
 System.out.println(“Alô”); 
 return this; // retorna este objeto 
 } 
 AlôTchau tchau() { // o método tchau retorna um objeto do tipo AlôTchau 
 System.out.println(“Tchau”); 
 return this; // retorna este objeto 
 } 
} 
# �����������	����
;���7������	����
	�7�����7�����4�	���	
��
��	��	��
����������	�
	�����
��	������
����
�����:��������
	��
1�����	�����������7������	
�	�������	
�	����4�	����������)� ��	�������7��
class Empregado { 
 private static int numeroDeEmpregados; 
 static void ajustaNumeroDeEmpregados(int numero){ 
 numeroDeEmpregados = numero; 
 } 
} 
K	�� ��� 	/	����� ���	������ �� ���N�	�������
��� ���	
	����	
��� ���	� ��� ������������
��5
1���
�������
	������
6�	�������&���������������
�����������������N�	���������	
	���������P�9	�����	/	����0�
class Empregado { 
 private static int numeroDeEmpregados; 
 static void ajustaNumeroDeEmpregados(int numeroDeEmpregados){ 
 this.numeroDeEmpregados = numeroDeEmpregados; //ERRO! 
 } 
} 
9��<��'�����	������&��������	������7������	����
	����4�	�	
���������)� ��	�
	��	�	�	�=���
�N������������	����
�	����
	�������	�����	��&�	��	������7������	����
	��'��7��
����������	� ������	������
�N������	����
	���
1���� � ����� ��� �7����� �	� ���
	� ���� ������ ������	 �
	 �����
	 ��	 �
	 ����.����	 ��	 �
���	 �����
��
����	
�	��	������&	�
	�����	�	�
�����
����	������	���
�	���	�� ��	
0�
class PrimeiroESegundo { 
 static void primeiro() { 
 System.out.println(“Primeiro”); 
 } 
 static void segundo() { 
 primeiro(); 
 System.out.println(“Segundo”); 
 } 
} 
K	���� ������	
���	��	�����������	�
	�����
	�
	�����	�����
����	��/	����7��������������	��	�
������
	�
	�����������	�������	������0�
class UsarPrimeiroESegundo { 
 public static void main(String listaDeArgumentos[]) { 
 PrimeiroESegundo.primeiro(); PrimeiroESegundo.segundo(); 
 } 
} �
K	����7�����������������
	��'�������	����
	��� ��	)������	
�����������������<�� �����������7������	�
��
�N������	����������
	������	�������	�������	���	��	���
�� ��	����7���������������	�	���
)�����	��	��	*������	�*���
����
��7������	������������������
���	������
'����
���
��
������	���
�����N�	���
��������
��7����
��	����
	�
����	���
�N������./�
�	�����
��������	�
���������0��������	���	�����		��������	���	�
"
�>������
�
���������	���	��������&	�������:�����	�����������	����	���
��	
���:������������7�������
������������
����������'��7�������������.��
�����
��	��	��
� �����	����������������������	������������
'����
���
������������
!
�� 
��������� 4�	�� 
	� ������	� 
	�� ����	
��	����� �� �7����� �	���&��� ������� �����2�� ��
� ����	G��
� ��
�
���N�	���
���
�����8�	�
���������
��'��
	�'����	����
������7�����4�	��	���&������ ��������
.��������
�	���
���������	���	�
"
�>�������
���
��	��	������	�	�<��������	��	�	2����������	��������������
�����������
6�	������7������ ������
��7����
�	���	
����
���������
��	�	�	���
���	
�	������	����	��������8)
��
��
)�����	���*	
���� ������
A	��������G������
��7����
�4�	���
�������	
������	�����7������ ��
��
��	����N�	���
����	�	��	
��7�����
�7������ �	��������� ����
�����	 �
	 ������	 ��	� ��� ��	����������� "	
�	� ��
��� �� ����������� 
	�	������ ��
�7����������������	
��� 	�����4�	�	���������	���G�	���	�������	������	���
������������������ �������	����
�7����� ���� ���	
��� ���	�� �G�	��� 	� ����� �	� �����	���
� ������7
� ��� �������2'�� �	� �
�������
��� 9	��� ��
	/	�����
	�����	0�
void imprimir(){ 
 System.out.println(“Impressãopadrão”); 
} 
void imprimir(String argumento){ 
 System.out.println(argumento); 
} �
3�	/	��������	������	���
�������
��7����
� ��������	
���	����	����
��3
����
��7����
���
�	�����	
���
���	�� ���7��� ���N�	���
� ���	�	��	
�� ��� 
	� � ����� ��������+,� �� ����	���� 7� � ������ �	/	��������� ��� 
	�
� ��������������C3�8D�����
	������7�� ��������
D��>	���
	�
������	
	 ����
�
����	�������	����
������	���>	�����	����
��
��
$	)���� 	�	���������
	
�
�����	 ��
	 ��	 �����
����	 �
�
�	 �
�	 �
���
	 ��"
�
��
��� "'�� ��
��� ���<����������� �� ����� �	� �	�������
����	�������	
�������
���������������9	�����	/	����0�
int somar(int x, int y){ 
 return x + y; 
} 
lont somar(int x, int y){ 
 return x + y; 
} �
"	
�	�G��������
����������������'���	��������	������4�����7������ ������	����
��8����	�����
��
����������$��
���������&�
�����������7� ����7����� 	
�	�����4�	�7� � ������ �	��� ��	�������
(	4������ ��� ����� ���	��� �	�	
���� 
	��
��������A	�����������
����������<����	�����������
	����:������:�����C��
����&���D��	����������&�2'��������	����
1���
	�	���7����
���
����
������	
����	��
	���	�������
�������
��
��	����N�	���
�	�	
�	���������	
��	���	
���
.���	������� ��� ���
������� �
�
� �
�	 �	 �
���	 ���
	 ��	 �����
	 
�	 ��
	 "��	 �
��������� ��7�� ��
��� ���
���
��������3�	�
�
	�
�	��	����	�
	�
������	��
����	�����2'��		
9��<�
	��	�����������
	�1���
�������
class Empregado { 
 private int numeroDeEmpregados; 
 private double salario; 
 public void ajustaNumeroDeEmpregados(int numeroDeEmpregados){ 
 this.numeroDeEmpregados = numeroDeEmpregados; 
 } 
 void ajustaSalario(double salario){ 
 this.salario = salario; 
 } 
} 
3��	��
��	
������
	����	��������
������7
���������&�2'�������	�������
(0�
class Exemplo { 
 public static void main(String listaDeArgumentos[]){ 
 Empregado e = new Empregado(); 
 } 
} 
����� ��1���
����	
	?	�
(	1���
����+,�����������������	�����������1���
����		�������)���������8�	��
��
4�	� ����7�� 7� ��� �����1���
������ 3�1���
����+,� 4�	� �	�� �	���
� ��� ��	������ �
(	7� ��� ���
�������
�
	���	��	���
�����
(	�	�	)
	���������������
���������"��	�����7���4�	���	�9����	��	�����
	1���
����	
�3�	�/	�	�
�����23�	�
	����������	�����Y�3�4�	�	
�8������	�	���P�B�
����	��	��4���������<��'���	������
��� ���
������� ����� ���� ���
	� �� ����������� ����� ��� ���
������)����'�� ��	�������� ���� ���� ��
��� ��&��� �	�
���N�	���
��3� 	���	/	����0�
class X 
{ 
} 
.
�����
	����	�	���&������
�	����'��	
�8��"���	������	���������������	�/	���������
	�E����
	�����	����	���0�
class X 
{ 
 X () 
 { 
 } 
} 
3������������
��	��	�����������
�����������'��4�������	� �������������	/��������	��	��	��������������
	��
F����� 
	� ���<� �	������� ������ ������ ���
�������� �� ����������� �3�	 ���	 �
���� ��� ���
������)����'�� 
	��
�����	���
0�
class X 
{ 
 private int i; 
 
 X (int i) // Explicitamente declara um construtor com argumentos 
 { 
 this.i = i; 
 } 
} 
class UsaX 
{ 
 public static void main(Strings listaDeArgumentos[]){ 
 X x1 = new X(2); 
 X x2 = new X(); // ERRO: não existe construtor sem argumentos na classe X! 
 } 
} 
"	
�	��������	/	���������	���������	�� ����������
������)����'���
	�������	���
���	������	�����	��������2'��
����4�	��'�� 8�������
������)����'���
9��<����	��	��������G������
����
������	
�	���������
	��MG������
����
������	
����������
6�	�����	���&�2'���	�
���	�	��	
�����
��	���������&�2'�0��
class Circulo 
{ 
 private int x, y, r; 
 
 Circulo() // declara um construtor sem argumentos 
 { 
 // System.out.println(“Antes”); 
 this(0,0,1); 
 System.out.println(“Depois”); 
 } 
 Circulo(int x, int y, int r)// declara um construtor que recebe 3 argumentos 
 { 
 this.x = x; 
 this.y = y; 
 this.r = r; 
 } 
 int retornaX() { 
 return x; 
 } 
 int retornaY() { 
 return y; 
 } 
 int retornaRaio() { 
 return r; 
 } 
} 
class Exemplo 
{ 
 public static void main(String listaDeArgumentos[]) 
 { 
 Circulo c1 = new Circulo(); 
 System.out.println(“Centro X: ” + c1.retornaX()); 
 System.out.println(“Centro Y: ” + c1.retornaY()); 
 System.out.println(“Raio : ” + c1.retornaRaio()); 
 Circulo c2 = new Circulo(5,6,7); 
 System.out.println(“Centro X: ” + c2.retornaX()); 
 System.out.println(“Centro Y: ” + c2.retornaY()); 
 System.out.println(“Raio : ” + c2.retornaRaio()); 
 } 
} 
.
�	� G������ ��������� �	������ ��� ���� �	� ���
	
0�1-
����	 	���������� �� ���
	��F������ �	������ ��� ���� �	�
���
������	
�� 3� ����	���� ���
������� �'�� �	�	�	� �����	���� ������ 	� ����7�� �� 
	�����	� ��� �� �	� �:����0�
����+@ @ G,��4�	���������
� ��&����4�	�� �������
	���������
�������4�	���
���J������	���
� ��	������	�����
���
	�������&	�����+,�������7
�������	����
	�����
����������
;���� ������������
�������������������������+,��	�	�
	��������	������� ���	��:������	������	�������
�������
���
�� �����8���� �� ����������� �	��� ��� 	������ 1��� 	
	� �������� �� ��� ��0=��
�$���$�������+H5
����I, 	4�	�
����	�	���	����	�������
�������������
	�������� 		
�8����	�������E���7����	�������	
	��	
��������������<�
�'�����	�� ��������
����
������	
�	��������
���������
�	��������������������+���
�����
�����������	��	�����������������������
K���� ��4�	�
	����
��������	2����������<�	
��	�	������������2'��
����4�	����	�	�����������A	�������������
�
	
�	������25	
��	�	��	
���������2'���	�	��	��������������
	�� ������������ �4�	����	���������������������	�
���� ���
	� � ������������ �4�	� ���	��� �����
��� ������	��	�� �� ������2'�� �	�	� �	������� ���� ���
	� � ������
5
�����������������4�	���
����������2'��������������	�	/	�������������������
���	�"���� 	�
��
	���� 	�	��
	�	��
	�	������	����	"��	�
���
��
�	"	
�	���
�����7��������� 	����
	�����
�7������	����
	�	
�	�����������	�����	������	����������	��
����������������4�	���
�������	��
���������������
	�����������	�	
������������������25	
�����������
�	����������	��������� �����
���
	�
����
������	
��	�������
����������������������
��������25	
��	�������������A	���
��	�����	����	
��	�	����	
��������2'������<��	�	�
�	�������������
	�����	��:����)����	0�
class Motor 
{ 
 private String tipo; 
 Motor(String tipo) 
 { 
 this.tipo = tipo; 
 } 
} 
class Carro 
{ 
 private String marca; 
 private String modelo; 
 private String fabricante; 
 Carro(String marca, String modelo, String fabricante) 
 { 
 this.marca = marca; 
 this.modelo = modelo; 
 this.fabricante = fabricante; 
 } 
 public String retornaMarca() { return marca; } 
 public String retornaModelo() { return modelo; } 
 public String retornaFabricante() { return fabricante; } 
} 
class DemostracaoCarro 
{ 
 public static void main(String listaDeArgumentos[]){ 
 Motor m1 = new Motor(“3.8L V6”); 
 Carro c1 = new Carro(“Mustang”, “Conversível”, “Ford”); 
 Motor m2 = new Motor(“Zetec Roçam 1.0”); 
 Carro c2 = new Carro(“Ka”, “Popular”, “Ford”); 
 System.out.println( c1.retornaFabricante() + “ “ + 
 c1.retornaMarca() + “ “ + 
 c1.retornaModelo() + “ “ + m1.retornaTipo() ); 
 System.out.println( c2.retornaFabricante() + “ “ + 
 c2.retornaMarca() + “ “ + 
 c2.retornaModelo() + “ “+ m2.retornaTipo() ); 
} 
M������	�Y�3��:��������	�����
	��	��
�	
�	������25	
�	��	4��
���
�
���������
��	�����
��������1���������������	
	�
�:����� ���	
	���� ��� �����	��� �	����	���	�� ���������	0� �
� ���
	
������� 	������	 	
�'�� �	
���	�����
� ���
�	
��������
����������������
"���������	����7���������&	��4�	������������
��������������
����������	�
�	������
� ��	�
��.�������
�
�������
���8���
���	�
��������������������������5	������������.��������
�	�����:��������	�������
����4�	����
�������'������5	����������	���	
�	���
���7���
6�	�����������	��
��������������	
	������������
�������O�����
����2'��	
���� ���9��<��8��������������7���������������������
	�������YP�3�	�����	�
	���������������������
	����������� �	
�������� �������
����
� ���
	
� 	
���	���	
���	�����
���� 
���2'������� 	
	� 	���� ���
�
�	� 	��
���	�����	
��
����
����
	
��L�	/����	��	�	
	����
������	
���
	2'�0��������23�	�
	��%
�����
�,��� �����������-�
.����
���������	������	
�����5	�������
�	������	
��K:�������������	/	���������� �
���������
������
��
��	�
��������������������
��
'������
�
�	����	�	
�����	�����	�
������	
������5	������	6������1	���������	�
���	��
� 
	����	������� �	��	
	���25	
��	� 
������	��	� 	������	
���������� �	����7���
6�	��4�	��8���
����	��
�
	���������&���
�������������������������	����3������	��������������	�������������	������
����	��
�7�� ������
�	��������23��������
��23����
�����
	����:�����
	�����	0�
class Motor 
{ 
 // atributos e métodos que identificam a estrutura de um motor 
} 
class Veículo 
{ 
 Motor motor; // define uma variável que armazena um objeto do tipo Motor 
 Veículo(Motor m) 
 { 
 motor = m; 
 } 
} 
.
	�	/	������	��:������	���������
����
	
0�������	�D
F�����������
	�D
F������	������������������� ������
�������4�	�7���� ������������ 	� �����&�� 	
	� ��������� ����� �	�	�	������ ��� ���	���4�	� �	
��	�	� �������� �	� ���
�	6������3����
�������D
F����+�����	�,���������&�������������������������	�	�	������������	�����������������
����������� �� ����	G��� ��� ���N�	���� �� ����� 	
	� ���������� A	���
� �	� ��&	�� �� �������2'��� ������ ��
���
��	�	�	����������	����	�����	
���4�	�������������
	�����	��	���
����������	������&�2'�����D
F����������
���
�	���������0�
�
������4�	����<�
��	�����������
��
���	���	
����������
����
	
�D
F�����	����������������<���&���������������
���	������ �����������	�������	������ �����D
F�����4�	�
	��������
���������	��������P����	
��
���	
�8����
	/	�����
	�����	0�
Motor m = new Motor(); // cria um novo motor e coloca na variável motor 
Veículo v = new Veículo(m); // cria um novo veículo, passando o motor para ele 
"�� 	/	����� ������� �� ����	���� ��� �� ����� �� ���	��������� 	� �������� 
	�� 	��	�	2��=� ����8�	�� �	� �	�	�	����� �	�
���	��
���������������������
	��������� ���4�	�����������	���D
F��������
����	��	�	2��������	����4�	�	
�8����
����8�	���������������
����������D
F�����������
��������
�������
�����������	G����������8�	�����	��������
	��
������������������������"	
�	����	����������	���D
F������	�	�	��������	�������8�	����7������
���������	���
�������	�	�	��������	���������������	�������D
F���������	��2'��	���	��
����
����	��
��	�7��������
�����	�	����
�������
	�����	0�
�
"	
��� ������� ���<� ���	� ������ 4�	� 	/�
�	�� ���
� ���	��
0� �� ���	��� ��� �����D
F������ 4�	� 	
�8� �	�	�	������� ���
����8�	�����	������	������������������4�	�7��	�	�	��������	������������������������	���D
F�������������6����	�	
�
	/�
�	��	�������
����	�	��	
��	��	�:��������7����	������������������������	�	
�	
�'��������
����&	��������4�	�
�����	���D
F�����
	��������
�����������������
�	�����.��/��	
�	�+���
�����
���������������	�	�	��
�,��� �/��	
�	-�
U	���2��7��� ��������	��	�
	��	����������������
��	
�	�6���������������	���������
��	�7������":
�	���������
�
	
�� ��������	� ��� ���������	� ��� ��
�� ����������� ;��)/����1E�� 	
���������� ��� ��	��	� ��� �����	�� ��� 
	��
��&�� ��� 7� ���� ��
�N����� 	
�	�6����� ��� ���	������������� ���
� �	�7������ ���� 	/	������ A�� �	
��� ������� ����
J����	�K	GLB	�����	7����� ��
�N�����	
�	�6�����������	���������
��	�7�����������K	� �	�����
��
����	�����
�
�����		�����	���������������6�	�����
�	�	�������
����
�
	��	��������'����������������������
	�	����
�N����
�
	
�	�6����
��	��������	���������
��	�7��������������4�	�	��
0������	������D
F������.�������
��������
�������
�	�
����
�
'���	6����
�����������
	�����	�	
4�	����&���
��	��25	
�	���	�����	������	�)/����1E�������	�������������
����	������	�J����	�K	GLB	������������	������������	���
��	����	������D
F������
�
Veículo
Motor
 
Veículo
Motor
v
motor
 
�
.������	
� �
� 
'�����
�
� ����6�	�
� �����
�4���
��:
� ���	������
� ���18���).Z���� ���[�+#@������ 	/	��������
�
���	�����
� �	��������� 	������	
� ���� �����
� 	������	
�� 	�� ���� �	���4���0� �� 
	�� ������ �
	� ���<� ���	�� ���� 
	�
�	�������� ���� �����
� �����
� �����7
� ��� ���	������������� .� �
�������	 
	� �	��������� ���������	 �����7
� ���
��	����	������D
F�����	K	������&����
������	�8������	�8����	� ���	������ ����	��� ���&��	
���8����	�	�������)
	�
��������	��
���� �
�	�����/�����
����	�����
�
'���
�����
������� �
����8����	��	��
�	������	
�
'���
���� �
��	
���
8����	� ��������	����<����	��	����� ����������	��������� �	���4�����	���� �
��	����	�����
�������&���� ���������
8����	����4���	������	�	������	
���	��
���� �
���
�	������	
��
'����
�N����
���
���� �
����
����/�
�����	�����
���
.
	�	/	��������
��������
���2�	�����
���"	
�	���
�������	������	� 	����	
����
�	����������	���
����������
�
	��7����
���	�����	�
��	��	��������	�������3�)/���������	/	������ 	����������	�������������	�
��	��	��	����
���	���	��	��� .�� ������
�	�� �
���2�	 �<������	 �	����	� ���� 4�	� ���� 	������	� 	��	� ���	���	��	�
���������	���
�	�	
����
��	����
�������
����	�����
�����	
����	�����!�����	���1���
����	� �����	;����
�	�����	���	
��4���4�	���1����
	�����
�	
�	�6�������	�
	����;���	�����
	����K
�
��
		���������	����	
���
�	�����.�	� 	����������
��������
����������	
��	����K
�
��
		��	������������	�����4�	��'�P���9	�������:/����
������0�
�
!���
��
�����	�����
"���������	��
������ 	���2��
	������	
����	����
����	���
0�����	���
-�
��3���	����
	
��� �������	��
���2�	
�
	����
�
���23����8�	/�
�	��	
�����	�������
�
���23���
	���
�"��
�	��������	�
	�
���2�	�
	���
�"��
���
6
���	�
23�	�9�	�����	
������	���
��
	�	�
���2�	�
	����
�
���23�$	
A	���������������
���2�	�
	����
�
���23�������
����
	
��	���������������	
��	/��	
�
��������������
�	�
�7����
���	� ���
	
��8�	/�
�	��	
��!
�� ��&�����4�	��� �	�����	��	
	�������	�����	����� ������2'�� 
	����	��
�	��������
����
	
��8�	/�
�	��	
�	������������	��	����������
������	
��	�	���
�	��8��	
����
��
'���	�����	�����
�
�����	�����&���
�����
����/	�4�	�	/��	
��������	�����	�	/�	�
'���	����
	
�7���
	�����	0�
‘class’ identificadorDeClasse1 ‘extends’ identificadorDeClasse2 
‘{’ 
 // Campos e métodos 
‘}’ 
.
�� 
����/	����	� 
	�� �������� 
	�����	� �����0��� ��
���"������5
�����
G		
�	��	��� ��
���"������5
�����
L��
.�������
��������
������
���"������5
�����
G	 	���������	���������������	
��	/��	
�
������7
��	���������
�	�
�7����
�� ��� ��
���"������5
�����
L�� 3� ��
���"������5
�����
G� 7� ��� 	����� ����� ��������
�� �����
	
�
������� ��� �����
�"������ 3� ��
���"������5
�����
L� 7� ��� 	����� ����� ���
������
�� �����
	 �/����� ���
�����
�������
Veículo
Carro
Pálio-EX
Moto
Honda CG 125 CargoEmpregado
Contador
João
Gerente
 
�� �������)� ��	� 
-�
���� �	
�	��	�� ��&� ���� 4�	� ���� 
�����
	� 	��	� ��	�	���� ����
� �
� �����
� 	� �7����
�
�	�������
�������
	)������	
�	�4�	�	����'��
	���"���������������������
��
����
	
)����������
	)����������
	)��� ��
���	� ��	
��� ����
� �
� ��������
� 	� �7����
� �'�� �������
�� .��� �'�� ���	� ��	
��� ���� �	��
� ���	���	��	�� �
�
�7����
�	���������
��������
���	�������
��������������)� ��	�������
������
��	�	���	/	�����
	�����	0�
class Ponto 
{ 
 private double x, y; 
 Ponto(double x, double y) 
 { 
 this.x = x; 
 this.y = y; 
 } 
 double retornaX() 
 { 
 return x; 
 } 
 double retornaY() 
 { 
 return y; 
 } 
} 
class Circulo extends Ponto 
{ 
 private double raio; 
 Circle(double x, double y, double raio) 
 { 
 super(x, y); // Chama Ponto(double x, double y) 
 this.raio = raio; 
 } 
 double retornaRaio() { 
 { 
 return raio; 
 } 
} 
3��:��������������
�
�	��	����
����
	
0�)�����	����������)�����7��������
	�4�	�
�	
��	�	� ��� ������� 4�	� �'�� 7� ����� ���
� ��� 4�	� ��� ���� �	� �����	����
� �/�� ����
	/��	
�� ���� �����	
� �	� �����)��������	� �	� �����)��	��
'�� ���7����� ������ �����
���
�������� �	
��	�	� ��� �6������ ���� �6������7� ��� ������4�	� ��
��� ��� �������K	����<�
��
	� ������ ��� ���	��� �� ������� ��� ���
	� ��������� ���<� ��������� ���� �� ���	��� �	�
�����������
��	��	
	�������������������������
.
�����������
����4�	������	����������	�	����
�������
���
�����<
���������
0�- 	=		�
������.���	������	�	�
��	��	��	������
��	��	������������������3
������
����
���������
�
'�����	
	�����
��������������
����	��������)�������
�
�����
	
�����
	
)��� ���
'��
�	����	��	����
������
����4�	��
�
��	����
	
�����
	
)������!
�����4�	�	��
���
������
��������������
���������
�����7����
��"	
�	���
�������	/	��������
�����
	���������
����������������������� �����������	�����7������ �������
�����M��������
;��� 
�����
	� ���	� 	
�	��	�� ���� 
��	����
	�� �	
�	�4�	� �� 
��	����
	� �'�� �	� �� 
���� �	��������"������ 1���
	/	������
	����	�����2'��������
	�)����� ���	
	�
����"����	�����	)������������������� �	�������
�������	�����
F����� ���� ��&5	
� �	� 
	�����2��� 
	� ���<�4��
	�� ���������4�	����� ���
	� �'������ 
	�� 	
�	������� �	����	)�� �����
	����"������
��
����/	���� 	���2��
��	�	�4�	����<����	�	
�	��	������	�
��	��	��������
	�����������	��
�����'��
���������
����	�	���2'�� �	� 	���2�� �G�������� !
�� ���4�	�� 
	������ �
� ����	��
��
� ��� �������	��� 	
	� ����� �	�
����	�	���2'�� ���	���� �	���� �����
'���!�����	�� ���� 	/	������ ���
� ���
	
)��
	� �	��������� ��� ���������4�	�
��
������	
������	���
���������
����	�	��	
��Q������
����
������
	)��� ���	�	���� 	����P�3��	
������	����
�����	�	����������7������K	����
��7����
���
�6
	�����	
������	���
����	�	��	
���
��
��	����N�	���
����
����
��	��	�������4�����	�	
���
�����
	��	�	���� 	����P�1������	�	���� ���
������	��
����������	��
�����	�	������
����	�	���2'���	� 	���2���G��������
raio
x e y
Camada
do Ponto
Camada
do Circulo
 
�'	�	
�����
�����������	���	���0�	��
"��	/	��������	������	/����	������
�������������
	����������9	���4�	��	������	�	� 8���
	�����	��:����������� ��
�������0����
�+- 	=,��.
����� �������&�����������)� ��	����
�������� ����������
�������)����+�����
	- 	�����
	
=,� ��� 
���
��	����
	� ����
	)����� 	���
�������� 	�	��� ����	G�����
�����8�	�
�-� 	�=��L� ���������	������ �� ���
	�
��������� �����	
	����
�������������
	�)����������4�	��
������	
��	�-�	��	�=���������&	������	���	��	��1	���
�����������
	�)������	�������	
�	
���������
������
	�����������
��������
����	� �������
	���	���	
���
���
���
	)��� ��������������'��
	������:��������
	�)���������	���	
8)��
��F������������������&����
������	
��	�-�	��	�
=���
���
�����������	���
�����������
�������������
	����������	
�����
	��	�	
�����	�	����	
�����	����������
���
�������������
	�)������	��
��7��	����� ������)
	����
�+- 	=���
K���� ��4�	����<�������4�	������
�������������
	���������	��	���	������ ��4�	�����7�����
�+- 	=,>�	���:
����<�
�	��	����������������������3�4�	������	�	���P�3���������������
��������	�����!
�����4�	��������������	�
	
��������
	�
�
	�
���
	������	��	����������	�
	���	���
������
 	�
���	��
	�	���
������
	�3�	�
����
	
-��������
��
	 ��	 ������������ K	� ���<� �'�� �������� ���� � ������ ����� �� ���
������� ��� 
��	����
	�� ��
�������������
	�	������������	��	����
�����
	����:�����4�	�� ���������
������)����'���
	�������	���
���"��
	/	����� ���	������ 
	� ���<� ���	
	� �	������� ���
�+- 	 =,� �� ����������� �	���� ��
	����� �� �������� ���
�+,� �����
� ����� �� ���
������)����'�� ��� ���
	� )����+,�� "��	� 4�	�� �	
�	� ��
��� �� ���
	� )����� �'�� �	�� �	� ���
���
������)����'��� 
	�� �����	���
�� �	�������� �	����� �	���� �� ���
	� )����	 ��� 	/	����� ��
��� 
��	��	� ��
���
�������4�	��	�	�	����
������	���
���� ����������	0�)����+�����
	- 	�����
	=,��.������	
	������������
	����
	�����	�������	���	)
	�4�	�4���������<��'��	
�	�������������
���������������������	��������������	��	�
�����
�����������'�>���
�	
	��'����������
�����������������
	�)�������
�./�
�	�����
������
� �	���
�4�	��	�	�� 
	�� �	����
� 	�����
��	��2'���������	�����	��
���&�4�	����>	�9	���
	
������	�	����������	�
	���	���
������
	�
	
����
�	�
����	�
	��	����������	�
	���	��������
	�	�	�����
�
�	� ����7��������� 
	��������&�4�	���
����	�
	��	���������� 	���>	�����	���
	�������	�9����	�����	
���
�	�
	������	�	����������	��	���
������
��
)����0�������
���� ������$
�������
*&�
;���
�����
	����	�
���	
��	�	��������������	)	
��	�	������7������	�
���
��	����
	��1����4�	��
������������
�7��������
�����
	��	�	���
�������	
������	�����	
�����
����	����N�	���
�	����	
���������	��	���������
�7��������
���
��	����
	��9	�����	/	����0�
class Ponto 
{ 
 void desenha() 
 { 
 System.out.println(“Eu sou um ponto.”); 
 } 
} 
class Circulo extends Ponto 
{ 
 void desenha() // re-declara ou re-escreve o método 
 { 
 System.out.println(“Eu sou um círculo.”); 
 } 
} 
A	���������������:�������	
	��	����	/	������������
	����<������������������	������������������		�� �������
�7������
�
���+,��	��'�������
	�C1�	���	��	�F�����$I���8�����	�	�0�
Circulo c = new Circulo(); 
c.desenha(); 
.���	�������
	������
	����������'�����	
	��	)	
���������7������
�
���+,�������
	����:������:���������<��	����
��
���C1�	���	��	�����$D��������7
���
������ ������	�4�	����<��	� ������������������7������	������
�����
	��4�	�
	�����<�����������������������
�7������	� 
��� 
��	����
	��!�����	� ����7��4�	����<�4�	���� ��	
��� 	
	��������������7�����4�	��	��	��	�=�
��	����
	�	��'��=�
�����
	����������<����	���� ��&	�� �
�P����	
��
������<�����	�����������������	�����	�
�:�����
	�����	0�
 
 
class Super 
{ 
 double x = 2; 
 void desenha() 
 { 
 System.out.println(“Super”); 
 } 
} 
class Sub extends Super 
{ 
 double x = 3; // re-declara o atributo 
 void desenha() { // re-declara / re-escreve o método 
 System.out.println(“Sub”); 
 System.out.println(“x = ” + x); 
 System.out.println(“Super.x = ” + super.x); 
 super.desenha(); // chama o método da superclasse 
 } 
} 
3�	/	��������	������	���
�����������������������������)� ��	����
���1�	��/���������C���
�$D�����7�����
�����������������&�����4�	����7��������
��	����
	�
	���� �������������4�	���������������
��	����
	�
	���
�����&������
F	���	)
	�� ���7��� 4�	� ��	������	 �9	 ���
	 �
�	 ����
�
������	 �
	 
�
	 �3�	 ���
�	 ����	 �
�������	 �������	
+������
,	 ��	 ���
������
�� �
��� 7�� 	�	� �	��4�	� 
	�� ��	
6�	��� A���	
��� ������� ���7����� �'�� ���	� �	�� 
����
�	��������"���������
�	
���������)� ��	���&�����4�	����7������'����
��
	��
���	)	
��������
1���	
������������"��	
�����������������������$�2����	���
*&���
E�������	��������������������	�����
�����
	�7�����7��������	��������������
���
��	����
	��������	�����������
�����	����7��7�������	�����������D
F������	�������	������������������	����7��7�������	�����������)������
�������	���
�
��	�����25	
����	����	
���.
��������2'�� �����������������	����<����	�����������������	����	�
����
�����
	�����������	�	�<����������������	�������������������	����	�
���
��	����
	��
 Ponto p = new Circulo(10.0, 20.0, 30.0); 
�� ��� �� �	� �:����� ������ ����� ��� ���	��� ��� ������������� 	� �������� 
��� �	�	�<�����=� ����8�	�����"��	�4�	� 	
��
����8�	�� �� 7� ���� ����8�	�� 4�	� ����&	��� �	�	�<����
� ����� ���	��
� ��� �����)������ .
	� ����� �	� �������2'�� 7�
�	��	����	��	� ��
6�	��� �8� 4�	� ��� ��������� �	��
� �	����25	
� �	� ���
	� 4�	� ������ �	
�����
� 	�� 	/	����
�
���	����	
��7�����
�����
	��	�)����	�	���	
�	���
�������6����������7��7�������������
���������7
��������8�	��
��7���
6�	�� � ������
��7����
� �
�����E+,		� �
�����N+,��4�	��	��	��	����� �����)������M�
� 
	������
6�	���
����7���� ������
����7������
�����M���+,P�
���	
��
���7��3������
�4�	���	������	
	��7�����7��������������������		��'��������������)����	 ����<�
	�
�	�����4�	� �
� ���	��
� ���	�� 
	�� ���
���6��
� 	�����
� �	� ���� ������P���.�� 	
<������ �
�����M���+,�7� ���
�7�����4�	��	��	��	�=������������������		��'�����)������F�����
	����<��	��������������8�	����������)�����
	���	�/	����
��	��	����������	/�
�	��	��	�����������
	�)������1���������������
	����<��	��������������8�	�����
������F�����		���	�/	��������������������������
	��������>�	����������������
	���������	�������������������
���
	�1������
"	
�	���
�����G��������	�����	������&���������8�	�����������	
������7������
�����M���+,�7������&���������	���
��
� ������ �=�
	����B�� 4�	� 	��!���<
� 
��������� ����� ��� ��������
�23�	 ��	 
��
��"���23�	 �
	 �����	���� 	
	�
�	���
�����������8�	�����	��
��������	����	��	��	����������	������������������4�	����<���
��������6)������
�����&8)���	���������	/��	
'���.��
������
����������� �������	�������������	���������8�	�����	/��	
'��7�
�	���&�������������)
	�	���	����<��	
	
��� ������	
	������F�����
	����	/	��������	��������<�4��
	
	������&�����
�7������
�����M���+,���������	���	���������������������������6������	������8)���	����������8�	������<��	����4�	�
��&	����
	�����	0�
 double raio = ((Circulo) p).retornaRaio();�
 
5
 A palavra cast, em Inglês, pode significar “elenco”, que diz respeito à lista de atores de uma peça de teatro, novela ou 
filme. O elenco tem a ver com o “papel” que determinado ator ou pessoa representa. Analogamente, passando para o 
contexto de linguagens de programação, o significado da expressão type cast seria algo do tipo indicar/mudar 
momentaneamente o papel (ou o tipo) de determinada variável. 
F	���	)
	�4�	��
���	��25	
��	������	����<��	
	
�
'��	/	������
�����	�����F���������	�������������������������
������������8�	�����������������	��	���
������	
	��	
��������4�	�
	�8�������	���������������������	�	�� ������
�7������
�����M���+,��3��������	��������7�������6���=�����8�	��� ������������
L����������	��	�������4�	����<����	������&���	
	������6�����	����	�2'�����������
��������������
	)��� ��	��
4���4�	�������	�
��
����
	
)�����4	���
��� 	����� 	�3�	�	�
���������9	�����	/	����0�
 Ponto p = new Ponto(10.0, 20.0); 
 double raio = ((Circulo) p).retornaRaio(); 
3� �����	���� �	
�	� ��
��� 7� 4�	� ��� ���	��� ��� �����)����	 �'�� �	�� ��2'�� ������� �	� ��� �7����� � ������
�
�����M�����!
�����4�	�4�	���������&�	
	��7�����7������
	����������F�������	
����	
	��:��������������
	�� ���
��� 	����� 4������ ���<� 	/	���8)���� �� 
9M� ���� �	���� ���� 	/�	2'�� ����� ��� ��� ��� �����
���������1-�
�����	+1-�
23�	�
	6��
�23�	�
	����,�������7��	
������������4��������� ����������7�����
�
�����M���+,������	����
/��	
�	�������������������
U	���2��	������
�2'���	��������)
	�	���	�
������	
���������4�	���������
	��	��������������������	������
��	����U	���2�� ������	� ��� ���	��� 	�� ������
�� ����� ���� �	������.�� ������
�	�� �� �����
�2'�� ������	�
���	��
�4�	���
�	�������
����	��
���������������	���	���	�������
�����	������������7��������	����"��
	2'��
����6������ ���	������ ���<� ���	��	�� 4�	� �� �����
�2'�� �	
����� �	� �	��25	
� ��� ����� C�	�� ��D�� 	���	� ���	��
�
�	/	����0��������
�	��	���������� 	���2���	
������	��	��25	
���������C7���D��F�����4���������<�	������������
�	/�����������	
���2'����������C����������	��	������	��	6����D�����<�	
�8������������� 	���2���1��������	����
������
���������	��
������	/�
����<����	������&����������� 	���2��4������=������
�2'���;����'��	/��������������
	����<����	�������
��	�������&8)��
���������
;����
������	��
����
����6�	�
�4�	��������	��
������	�	���	������4������	
���	���	
	�����	�������� �	���4����
�	����
	
��7�
��	���	������4�����������&��������
�2'��	�4�����������&��� 	���2���������
��	&	
��
��	��25	
����
�����C7���D����C�	����D��'��
'�������������
��1����	/	�����������
���� ��4�	����<��'��
�����4�	�����6������
	������������
	����������������8��������<����	�����4�	�����6�������
���	���������
	�������������������	
���
��	��
������<����	������������	�	���������
	�����	������	�����	��:����0�
class Ponto{ 
 private double x, y; 
 Ponto(double x, double y){ 
 this.x = x; 
 this.y = y; 
 } 
 double retornaX() { 
 return x; 
 } 
 double retornaY() { 
 return y; 
 } 
} 
class Circulo{ 
 private Ponto p; 
 private double raio; 
 Circle(double x, double y, double raio){ 
 p = new Ponto(x, y); 
 this.raio = raio; 
 } 
 double retornaRaio() { 
 return raio; 
 } 
 double retornaX() { 
 return p.retornaX(); 
 } 
 double retornaY() { 
 return p.retornaY(); 
 } 
} 
����������	��������	����	�����:�����	/�	���
��������	��������������������	
������
	��������	7�	4�����	��	�������
���
	������������	
	�����������6�����	
���
	2'�������	
�	�	/	���������	����	�	��4�	��'����������
	��� 	���2��
7�����'�������&�����M�
������	����	�� �������0���	
�	���������	�2'��������
	����������"��	�4�	� 8����	����2'��
��
� �7����
� �
�����E� 	� �
�����N�� .
�	
� �7����
� ��������� �� �:����� �8� 	/�
�	��	� ��� ���
	� )����� 
	��
�	�	
����	�������
������	�����&�2'���	��:������'��7��	�����	�������
������	
�������	�
�������	���2'�������	��
�
7� ���	�� �	�����&��� �:������� 1��������� 
	� ���<� ������&��� 
��	��	� �� �����
�2'�� �	� ���	��
� ���<� ���	�8� 	
����
�������������	����N���������:������.������	
������������������	
	� ������	��	����N��������	�
	� ����������
�	
��	����	������	�2'����
�	����.�����	�3�������	��	����	�����
M����
��������	�
����	�����
������	��
����������XX���'��
������������2'���	�	/�
��������G��������
	����������
���4���� ����
� �
� �����
� ���
	
� 
'�� �	������
�� 
	��4�	� �
�� 
	������ �	����	���� ��� �������

Outros materiais