Baixe o app para aproveitar ainda mais
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� � � �� ������ � ���� ���� ��� �������
Compartilhar