ˆ& % ˜ ˚ ˘ˆ ˆ - vios.dc.fi.udc.esvios.dc.fi.udc.es/tp/ficheiros/java08x4.pdf · ˘ ˇ ˆ...
TRANSCRIPT
���������� �� ������ � ����������
�������������� ����������������� �����
��������������
����������������� ���������� �����������
�������������� ��������
���������������������
���������������� ����
����������� ������ ������
������� ���������������� ���� ������
�������
� ������� ���������������� ���!�""#
� $� ����� ��� !������� ����%����������������������&���%���������#
� '���� ��
� ��������
� (����� ������������ ��������
��������� ����� �������������������
)������ ���������������� ���� ������
��������� ����� ����������������������
� (��������� ���������������� ���������������������� ������� ���
� *������������ ����%����������������� � ������� ���
� �� ��� ���������� �������� ����!��������#�%��������������!�&��#�+�������������������
� ���������%���� ����������� ������������ ������������������ �� �����%���������������������������
� ,�����&���%��������������������������������+��������� ���
-������ ���������������� ���� ������
��������� ����� �����������������������
� .� ���������������������""�
� ������ �������
� (������ ������������%��������������������������� ����������� ��������������� ���� ������� �������������
� !��������������� �����������%��&��
� � � �/��� ������������0
1������ ���������������� ���� ������
��������� ����� ������������������������
� .� ���������������������""�
� ��������
� *��� ����!�� ���#����������������������!���� ���#
� (���� �������������������������%��&������������� ���
� (���� ��������������������%���2�������������%��&��
� 3����������������4� ������� ����
5������ ���������������� ���� ������
��������� ����� �����������������������
� $ ���������� ���
Clase Trabajador Clase ALUMNO (SUBCLASE)
NIFNombreApellidosEdadOficio
NIFNombreApellidosEdadOficio
Curso
6������ ���������������� ���� ������
��������� ����� ����������������������
� �����"������
� $���� ��� ���������������&��� ���������������!%���������#�%����������������������
� *������� �����������������7��������&���+����������������
Método tocarCLASEINSTRUMENTO
8������ ���������������� ���� ������
����������������
� *�����4����������������������������� ���9����������� ��������������������� ������#$����
� :������/�� �� ��������������� ������� �������������������
� (���� ����������&�� ������������������������� �������������
� .����� ����������������� �������������������������9� ��������������
� ������;������������� ���������"��
� ��������%��&����������������� ���
<=������ ���������������� ���� ������
����������������
� $ ����
,���� ��������� ���<�>���? ,���� ���!#@
����� ���<�������>�A����B@
,���� ��������� �����>���? ,���� ���!#@
����� �����������>�AC��D�B@
���������� ����������
��������� ��� ������
<������� ���������������� ���� ������
�������!"�����
� E��$ F���� ���������%�&� !�G ��� ���#�������� � '������==�
� '�C��:�����9������:�������!��������������%�&� !-G ��� ���#������� ������ �H'������==)
� :�����?9�I��J��9�.�HE�F�%���'���� �������������������������%�&�(�)����"�* ��������������#$����������� ����� J���%���===
� K�������9����I����9�:��'������������ �$����������������%�+� !LG ��� ���#������� ����� J���%���==<
<L������ ���������������� ���� ������
�������!"������
� ��������9������M��D���49����C���9�������49����E��47��49����(��4����9����.���� �9����I�� D��������� �� � �������������������������������$ �����N�������������������������������*�������������O������������������ !�����!���!����"������
� 3 �����.�����9�%�&��,(�! ����������������9�M�HC�9��===
� P��� ����7�� ������ ����������������!��������9� �����9�0#
<)������ ���������������� ���� ������
� ��������� ����
� :������������N���C� �%�������<88-
� .��� ���D�� ��
� ������� .��������������.�.QQ�����������������������������
���� �����������9������ ����/������9��� �
� ���� ���� M�������� ����%� �����������/�� ������������
��������
� N����������� �������������+������������������ ��������������������������
� ������� � ���� � ��C���������������A��B ��N"�
<-������ ���������������� ���� ������
� ��������� �����
� .��� ���D�� ��! ������ ���#�
� �������� 3������ ����� �����������%�����D��������������%
� ���� ������������
� C��� ����������!�; �� ���#
� �� ���� O���������� ������������������ �����������������
������
� I����������������!N� ����% C������#���������%�� ��
� !����� ��� ���������"����#� "������������� �������&�����+����� �����������������4� ���
<1������ ���������������� ���� ������
� ��������� ������
� .��� ���D�� ��! ������ ���#�� !����� ��� �$��������
� $ ��������� �9�������90
� �����%��� &�����'�%�� �(� :������������������� ��������� �� � �������
� )��*����� ����������� ��������7�� ����� ���
� E/+�������������� ���� ����������������������
� +�� � ������������ ��
� ,-�
<5������ ���������������� ���� ������
� ��������� �����
� �� ����������� �������/������������������������
� O������������������������������������ �
� #� ���������������������CN�J���?�%�N����
� R(�������S�%������� ��������� ��
� (���7+���������������7 ������������� ���������������E%��.��
� *����4� ���������������������4��������������������� M� �� �����������9�����������������9� ��������7�� ��
��� ���9� ����� ����������������� � � ���9��� �� $ ��������%����+���D�������������A'��C���B TTT
<6������ ���������������� ���� ������
�����#�����$�� � %�� ��#%�� �������
� <88-�H �:K�<�=
� <885�H �:K�<�<
� <886�H �:K�<���!������#
� �===�H �:K�<�L
� �==L�H �:K�<�)
� �==)�U �:K�<�-�
� �==1�U �:K�<�1
� �����M������ $��������� !�M$#
� �������������C� ���� !��C#
� ���������������� ���7� �Q�������� ����7�������� ���
<8������ ���������������� ���� ������
&�����������������
HARDWAREHARDWARE
SISTEMA OPERATIVOSISTEMA OPERATIVO
APLICACIONESNO JAVA
JAVA VIRTUAL MACHINE (JVM)
APLICACIONES JAVA
API
�=������ ���������������� ���� ������
���$������ ����������� ����
� .���������$�&��
� .������������� �;�������� ���
� 3� ���� �������!�%�� ��#�� �;�������� ��
� $ � � �����$�&�
� $ � �������� ����� ��
� '�������������� ���������$�
� �������� ������������ ���� �������� �;�������� ��
� ������������������.(�NN��,'���������������������� ����������� ������������!��������%�������+����#
�<������ ���������������� ���� ������
Código fuenteJava (.java)
Código fuenteJava (.java)
Compiladorde Java(javac)
Compiladorde Java(javac)
ByteCode deJava (.class)ByteCode deJava (.class)
Bytecodes localeso enviados a
través de la red
Bytecodes localeso enviados a
través de la red
Cargador deClases
Cargador deClases
Librerías declases de JavaLibrerías de
clases de Java
Intérpretede Java
Intérpretede Java
Sistema de ejecuciónSistema de ejecución
Sistema operativoSistema operativo
HardwareHardware
Máquina virtual
de Java(JVM)
Entorno de ejecución de Java(Java Runtime Environment)Entorno de
compilación de Java
���$������ ����������� �����
Compilador(Just-In-Time
Compiler)
Compilador(Just-In-Time
Compiler)
Bytecodede Java
CompiladorBytecodes
Código máquinanativo
�������� ���������������� ���� ������
������������������ ���������
� (�� ���� ��������� ���# ��� !����+��� �����������������#
� -.����� !���� ����+������������������ ��#
� *������������7 ������������ � ������� ����!����������#� :�����;���������&�������!#���������������
� (�� ��������������������������������� ���� �$��������$���������
�L������ ���������������� ���� ������
������������������ ����������
� :����� �����
����� %�$�� ����
V
�������$����&
���'(����&
W
� ��������� ��������
� :��������������������� ���
� C&���� �� ���� ���������� ����
� .���������� �����+������ � ����7 ����������+��
�)������ ���������������� ���� ������
������������������ ������������ $ ������������ ����
/** Clase de ejemplo: cuenta bancaria */class CuentaBancaria{
long numero;string titular;long saldo;
void ingresar (long cantidad){
saldo = saldo + cantidad;}void retirar (long cantidad){
if (cantidad <= saldo)saldo = saldo – cantidad;
}}
Atributos
Métodos
�-������ ���������������� ���� ������
������������������ ����������
� $ ������������ ����class Punto /* Clase de ejemplo: Punto */{
double _x; // atributo xdouble _y; // atributo y
double x(){ // método x()return _x;
}double y(){ // método y()
return _y;}void x(double d){ // método x(double)
_x = d;}void y(double d){ // método y(double)
_y = d;}
}
+x() : double+y() : double
-_x : double-_y : double
Punto
+x (x:double)+y (y:double)
�1������ ���������������� ���� ������
������������������ ���������
� (�� ����������������������� � ���������D����
� N����������� ����+������������ �����%������������ ��������� ���
� �����+��������������� ��� ���9�������� ������� ����������������
� .�����������&�������!#�� ����4������ � � ���������������
� $������� ����������������������������� ���������������+��� �����������&�������!#
�5������ ���������������� ���� ������
������������������ ����������
� /��������� ������ ���������� ����
� #���)�����%�$�� ���� �$��*$+��,
� $ �����������������@
� !������ ������ ��������� ����
� "���������0
� �$��*$+�� -��. %�$�� ����/0,
� $ ������������ >���? ����!#@
� N����������� ������%� ������������������
� ����������� >���? ����!#@
+x() : double+y() : double
-_x : double-_y : double
Punto
+x (x:double)+y (y:double)
�6������ ���������������� ���� ������
������������������ �����������
� RX�& ������� ��� ������ ��S
� � �����������������%��&��
� ������ ����������������������������
� �����"� ��(( ��� ���D�� �@
� $ �����
� �������Y;
� �������Y%
� �������;!#�� �������� �����������&����
� (��� � � �����������&���������������+�
�8������ ���������������� ���� ������
������������������ ������������� $ �������� ����������� ���
class Punto /* Clase Punto anterior */{
...}
public class Prueba{
// Programa principal
public static void main (String [] args){
Punto p = new Punto();p.x(3.0);System.out.println(“Coordenada x =“ + p.x());
//escribe 3 por pantalla. }
class Punto {double _x;
double _y;
double x(){ return _x;
}double y(){
return _y;}void x(double d){
_x = d;}void y(double d){
_y = d;}
}
������� ���
L=������ ���������������� ���� ������
������������������ ��������'�
� ,���������������
� ����������!�����9��������9� ��7 ���9��� �#
� :��� ���! �����#
� ����� ��������������������������
� M����4������ ���������������! ��������#
<�
�����< ��������� �����<�>�<�9��������>�<6@
�������>�������<@ <� <6
L<������ ���������������� ���� ������
)�=
������������������ �������'�
� ����� �������������������� ���
� N��A����������1
���������<�>���? ����!#@�����������>���? ����!#@
����<�;!)#@������%!5#@
=�=
=�=
Y;
Y%
����<
=�=
=�=
Y;
Y%
�����
5�=
������>�����<@
$���� ���������������$��������� �������A�� �� ����������B !2��$�2��������#!!
L������� ���������������� ���� ������
������������������ �������'��
� .����� ����������� ���
� .������������� ��9�������������������
����<�>>��������� � �
����< �����
5�=
)�=
=�=
Y;
Y%
=�=Y;
Y%
)�=)�=
=�=
Y;
Y%
����<
)�=
=�=
Y;
Y%
�����
����<�>>��������� "����
LL������ ���������������� ���� ������
����� �$��3�����
������������������ �������'���
� C���� �������� �����
V
4����$����&
'(����&
W
Z���������[
L)������ ���������������� ���� ������
������������������ �������'����
� ,������ ����!���������#�
� 1#�����2� #���34�� ��������������� ����!����������+����#�������� ���������������+����9���������������+���������������
� �#�������2�#�����34���������� ��9����+����������4�� �� ����� ���� � �� �%������ ��
� ������2"����34� ����+��������� ���� �������������� ����O������������������������ ����������
� 5�����������2�6��7������34�������&����������������� �������� ���4���� ����������� ������������������������������������������
L-������ ���������������� ���� ������
������������������ �������'���
/*** Programa HolaMundo* que presenta el mensaje Hola Mundo*/
publicpublic class HolaMundo{
public static void main (String [] args){
System.out.println (" Hola Mundo!! ");}
}
Hola Mundo!!
L1������ ���������������� ���� ������
������������������ �������'��
� .��� ���D�� �������� ������������
� ,���������������%���� ����������������� ��������� ����� O���%���������������� ����������
� N������ ������������������7���� ���������������%��&��
� *��� ����������������������������/�� �� �����A����%������ ����/������B
� N����������������� ����������� ��� ����� ����������+����������� �����"���� ���&� ������ ����!����� !���������� ����+�D���������#
L5������ ���������������� ���� ������
������������������ �������'���
� .��� ���D�� �������� ������������
� $������� ������������;����������� ������������� �� �/��� ��!��$���#
� $���� ����!� ���#�������������� ����� �����/��� �
class Circulo {...
}
public class Prueba{
public static void main (String [] args){
Circulo c = new Circulo();}
}
class Circulo {...
}
public class PruebaPrueba{
public static void main (String [] args){
Circulo c = new Circulo();}
}
5���$�!+���5���$�!+���
L6������ ���������������� ���� ������
������������������ �������'����
� �* ���� !���6�2��#�
� $����������� ������� ���
� $�����������������<����;��D���-8���+�������7�����0
� $�������������� ��������������+����
� �����+������� �����������4 ���������+�������%�+��������� ��� ������������������� � �. � ������� /����@
� $����������������+����������� ��������������������������������� $ ������ �����?�������
� ,������ ����+�����������������������+�������#��������������������� ���
L8������ ���������������� ���� ������
������������������ �������'�����
� �* ���� ! ������ ���#�
� N������ �������������������������� �������� �������� �������! ����C��� 9� ��������9�0#
� ������������ ���� ������������ �����������������������������������
� ������%����������� ������������ ������������� ����%���������!������������� ��� F���#
� ������ ���������+�����
� N����� ���������� ������ ������� /����@
� N�����������������+�����%�������+������ $ ������N����������� �����?� �����������
�����?�������
)=������ ���������������� ���� ������
������������������ �������'�'�
� $ �����
� ������ ����������� ����
� ����� ���� ��� �����������X�� FN��@
� ������ ����������� �����+�����
� ����� ���� ��� �����������\@
� $������ �������� ������ �������� ��� ����������� ����������+�����
� .(�NN��,'������ ��� ����������
)<������ ���������������� ���� ������
������������������ �������''�
� .��������� �������&���#����6��.������
� ��&������������������� ���������������������� ����!������������ ���#
� ������������������������ ����������������� ���9������ ��� ������ ����%���� ����������+����
� � #����� ���+����� ��������� ���+������������������ �������������������%��&��
� "�����6 �����8��� !� ����������� ������������ ������#����� ���������������� ��������������������+����9�������������;����������+�����!�� �������������� 9�������������������� F���#
)������� ���������������� ���� ������
������������������ �������''��
99���8���
9999� #���
999��������
9��&���
������ /��������� ���� ��0�������� ���
)L������ ���������������� ���� ������
����� !��+����#
package graficos;class Punto{private double _x;private double _y;
void setX(double d){_x = d;
}void setY(double d){_y = d;
}void mostrar(){System.out.println("Valoresde x e y: " + _x + " " + _y);
}}
package graficos;class PuntoPunto{private double _x;private double _y;
void setX(double d){_x = d;
}void setY(double d){_y = d;
}void mostrar(){System.out.println("Valoresde x e y: " + _x + " " + _y);
}}
5��!+���5��!+���
�����!+��� �����!+���
package graficos;public class Circulo {private Punto _centro;private double _radio;
public Circulo() //constructor{_centro = new Punto();
}
public void setCentro(double a, double b){_centro.x(a);_centro.y(b);
}
public void setRadio(double d){_radio = d;
}
public void mostrar(){System.out.println("Circulo:" + _radio + " ");_centro.mostrar();
}}
package graficos;public class CirculoCirculo {private Punto _centro;private double _radio;
public Circulo() //constructor{_centro = new Punto();
}
public void setCentro(double a, double b){_centro.x(a);_centro.y(b);
}
public void setRadio(double d){_radio = d;
}
public void mostrar(){System.out.println("Circulo:" + _radio + " ");_centro.mostrar();
}}
import graficos.*;public class EditorGrafico{public static void main(String [] args){
Circulo c = new Circulo();c.setCentro(3 , 4);c.mostrar();c.radio(2.5);c.mostrar();
}
}
import graficos.*;public class EditorGraficoEditorGrafico{public static void main(String [] args){
Circulo c = new Circulo();c.setCentro(3 , 4);c.mostrar();c.radio(2.5);c.mostrar();
}
}
5���$�!+���5���$�!+���
������������������ �������''���Circulo
-_centro : Punto-_radio : double
+mostrar()+setCentro( x : double, y : double )
Punto
-_x : double-_y : double
+mostrar()+setX( x : double )+setY( y : double )
EditorGrafico
+main()
1 1
))������ ���������������� ���� ������
����� !��+����#
package graficos;class Punto{private double _x;private double _y;
void setX(double d){_x = d;
}void setY(double d){_y = d;
}void mostrar(){System.out.println("Valoresde x e y: " + _x + " " + _y);
}}
package graficos;class PuntoPunto{private double _x;private double _y;
void setX(double d){_x = d;
}void setY(double d){_y = d;
}void mostrar(){System.out.println("Valoresde x e y: " + _x + " " + _y);
}}
5��!+���5��!+���
�����!+��� �����!+���
package graficos;public class Circulo {private Punto _centro;private double _radio;
public Circulo() //constructor{_centro = new Punto();
}
public void setCentro(double a, double b){_centro.x(a);_centro.y(b);
}
public void setRadio(double d){_radio = d;
}
public void mostrar(){System.out.println("Circulo:" + _radio + " ");_centro.mostrar();
}}
package graficos;public class CirculoCirculo {private Punto _centro;private double _radio;
public Circulo() //constructor{_centro = new Punto();
}
public void setCentro(double a, double b){_centro.x(a);_centro.y(b);
}
public void setRadio(double d){_radio = d;
}
public void mostrar(){System.out.println("Circulo:" + _radio + " ");_centro.mostrar();
}}
import graficos.*;public class EditorGrafico{public static void main(String [] args){
Circulo c = new Circulo();c.setCentro(3 , 4);c.mostrar();c.radio(2.5);c.mostrar();
}
}
import graficos.*;public class EditorGraficoEditorGrafico{public static void main(String [] args){
Circulo c = new Circulo();c.setCentro(3 , 4);c.mostrar();c.radio(2.5);c.mostrar();
}
}
5���$�!+���5���$�!+���
������������������ �������''����Circulo
-_centro : Punto-_radio : double
+mostrar()+setCentro( x : double, y : double )
Punto
-_x : double-_y : double
+mostrar()+setX( x : double )+setY( y : double )
EditorGrafico
+main()
1 1
)-������ ���������������� ���� ������
������������������ �������''���� !�������#��������
� $����� ����������+�������������� ������ ��� *������������������+������� ��������������������
���� ��������������%��(����2������� ������������ N���� ��������������������������#������
� ����� ����� � �� I������� V�������W
� ������� ��������������������2�(���� ������&���
� -.�������������� !������#��������0 ��� ����!#� � �/���������� �����O�� �/�������� ���������&�����
������������ N��������������������������������� �����������������4����������������� �����C������!<#
� ���� ���� �������������� ���������������Z��?[���TTT� N�����7����� ��������������%���� �����������������
������ �� �9����� ����9�.�.QQ
)1������ ���������������� ���� ������
� ��������
� .���� ����������� �������������������� $ ������C��D���9�����9�I��
� ��������� ���+������� ��������������������:�����
� $ ������� �� ������;���� C������ V�����W
� .��������� ����������������������������������������%��&���!���������� �����������#
� �������������������� ������ �������������!�� ���#
� �������2��������������������%���&��
� O���������������� ����/�������S�
������������������ �������''��
NO
)5������ ���������������� ���� ������
������������������ �������''���� ��������! ������ ���#�
� ,������ ���� ������������������������������������� ����
� .������������ ��� ������������ ���������"� � �
� (�� ���� ���������"� � � �������D4����������� ����+�D����� ���
������
���� �
�� � ���
�� ���� ��������
)6������ ���������������� ���� ������
������������������ �������''����
�#����� ����� $������ V� #��� �#����� &��� ���� �!#@� #��� &��� �������!#�V
N%��������������!]��������� $���������]#@W
W
����� N��$������� �:����� $������V� #��� &��� ���� �!#V
N%��������������!]���� ��� N��$����������]#@W
W
����� N��$������E �:����� $������V� #��� &��� ���� �!#V
N%��������������!]���� ��� N��$������E���]#@W� #��� &��� �������!#V
N%��������������!]��������� N��$������E���]#@W
W
� #��� ����� ���� �����V� #��� ������ &��� ����!N�����Z[����#�V
N%��������������!]�;� �����]#@$������ ��>���0 N��$�������!#@$������ E�>���0 N��$������E!#@������ �!#@E����� �!#@
WW
^ ��� U������� ����� ���^ �������� ����
���� ��� N��$����������
���� ��� N��$������E���
��������� $���������
��������� N��$������E���
Ejemplo1. Herencia simple ���� ��������������
��������
���� ����
����������
�������
�������
���� ��������������
����������
)8������ ���������������� ���� ������
���������
����������� ����
���������������� �������� ��������������������� ������ �������� ������������������ ����
�� ���
������� ����
��������� ������������������ ������������������ ����
� ������
������
������������������ �������''���������� � ��� ����� V
��������N�����������@���� ��� ����� !N�������#�V
����� >��@W����� �N���������;��#�!#�V
������������@W����� � ����� �N�������#�����#�$�!#@
W
������ ������ �;���� ����� V��������N������Y������ ��@����� ���� ������ !N���������9�N�������#�V
� ��!�#@�Y������ �� >����@
W����� �N������������ ������!#�V
�������Y������ ��@W����� �N��������5����!#�V
����������O����!#�Q�A9�A Q�����,���� !#@W����� �N�������#�����#�$�!#�V
�������A$�������� ���B Q����,����� ��!#@W
W
����� � ��� ������� V����� ����� ��������� !N�����Z[����#V
$������������ >���? $��������!A$�;�������7�� �B9�A����B#@
N%��������������!���� #@������������A�N�����BN%��������������!��������O����!#�#@
WW
Ejemplo2. Herencia simple
get
^� ��� U������� ����� ���^� �������� ����
����9�$�������� ���$�;�������7�� �����
-=������ ���������������� ���� ������
������������������ �������''�'�� �������4�!������� �#��
� �������������� ������ ��������� ���������+�������/���&������������������������� �����$4�����"��� !�����#�� <�(((�=
� C&���������D ����������/��� �%������ ��
� ��������������D ��������������� 9����� %�������� *��� ����+�������������������������4���������������������&���
� .�7����������������$4������ !�� ����:����� ������������������� !�����#��
� <� ����������� �;�������<����� ���� ��������������������� ���
��������������'���� ����/�������������������� ����
SuperClase
Clase
Int1 Int2
extends implements
-<������ ���������������� ���� ������
������������������ �������'''�
����"��� .�O���� V����� �N������������O����!#@
W
����� *��.���.�O���� ����������.�O���� V
����� �N�������#����;��#�!#�V
�������A*�������B@
W�W
� $ �����<��*� �/������������ �
����"��� .�O���� V����� �N������������O����!#@
W
����"��� *���� �:����� .�O���� V����� ������ �����4�� !*���� �#@����� ���� ������*�:!#@
W
����� *�������� ���������� *���� V����� �N������������O����!#�V�������A*�������B@�W������ ������ �����4��!*���� �#�V�����������@W����� ���� ������*�:!#�V�������H<@W
����� ���������<!#�V00�W����� ���� �����!#�V00�W
W
Ha de implementar obtenerNombre()
Ha de implementar obtenerNombre(), autorizar() y obtenerUID(), porque al ser
Usuario un interface, no puede haber implementación allí.
-������� ���������������� ���� ������
����� �����*��������� �:����� ����� ���������� ���������� V��������N�������������� ��@
� #��� �����*���������!N����� ��9�N���������#�V����!��#@������������ �� >����@
W� #��� N���������.����������� ��!#�V
��������������� ��@�W�
�����O����!#���������0W
������������������ �������'''��� $ ��������'���� ����/�������
// Implementa el interface
����� ����� V��������N�����������>� #��� ����� !N�������#�V
��������� >��@W� #��� N���������O����!#�V
������������@W
����"��� ����������V����� �N���������.����������� ��!#�@
W
����� � ��� ������� V����� ����� ���������!N�����Z[����#�V
����� ��>���?������!]���� E�����]#@����� E�>���?������*���������!]O������]9]C�� � .�������]#@�����*��������� .�>���?������*���������!]C�������]9]:�����]#@N%��������������!�����O����!##@N%��������������!E����O����!##@N%��������������!E����.����������� ��!##@�����$MM_O$" A������ � �����BN%��������������!.����.����������� ��!##@
WW
Profesor
ProfesorUniversidad
Investigador
extends implements
-L������ ���������������� ���� ������
(�$���$�������������
� $������2���������������D�����������������
H
QL�)�;�<=L=6
QL�)�;�<=L6
Q�1L�H<
Q�L<�H<
Q�<-�H<
Q<�5
*�� �� Q�<1�H<
H
-:���
���HH���
:����HL�)�;�<=L=61)���������
3���HL�)�;�<=L6L���������
(��H�1L1)�������
�������H�L<L��������
N���H�<-<1�������
E%��H<�66�����%��
.���� ���*�� �� =<1���� ���
E����HH�����
�������&��� �-����������������������&�
-)������ ���������������� ���� ������
(�$���$��������������
� .�������������������������������
� N���������� ���������������������� ��������������!���� � ��� ��#�
� $ �����
��� �>�`;`@
.���� ��� .�>���? .���� ���!`;`#@
�>�.� ��������!#@
--������ ���������������� ���� ������
)��������
� ; �.������ �������������� �� N���������(������+����������%���������8(
� N���������3������+���������� %�����������8�L3�
� !������ ������������!`�`#� .��� �������� �����
� a� ����������D���
� a� ����������
� $� �
� !����������������25����3�� �����������!]C�� �����]#
-1������ ���������������� ���� ������
���������
� :����� ����������������- �� ���@
� ��������������� ������������������������������� ���!� ����� � =#
� ���������� ��������&������������� ����4��������������������;��D ���
� C���� ����"�����
� �������+������������������������������������ ������
� $ �����
����������� ���>�L�<)<1@
��������� C�b�C"�>�<==@
-5������ ���������������� ���� ������
��� ��!������������
� O����
� .����4��������������9������������ �!�Y�#�����D�������������!^#
� (����7� ��� �����������������������D���
� $ �����
� .��� ���������9�Y�����9�^�����
� �� ��� ����5 ����9�S ���
� ����������������������%/ ����%����/ ���
-6������ ���������������� ���� ������
��� ��!�������������
� !��&�������TT
� O�������� ����������4��������%/ ����!.�� ��#
� O���������&������������������4���������/ ���������!��������!#�9���.�� ��9�0#
� .����������������%/ ������!C������#
� �������� ����������������������������� ����4���� �����������������������%/ ���
� $ ���������� �.������!#9�.���.������9���.������
-8������ ���������������� ���� ������
�$������������
� N������ ����.�0SS
� �����&�� ��Q9�H9�\9��9�c
� ����� �����>9�Q>9�H>9�\>9��>9�c>
� ����� �����������QQ9�HH
� M��� �������d9�d>9�e9�e>9�>>9�T>
� (��� ��ff9�gg9�T9�f9�g
� .� ����� ������� �������Q
1=������ ���������������� ���� ������
�$�������������� $ �����
��>��QQ@�������N��������� ��� %���������� ���������
��>�QQ�@�������N���� ��������� %��������������� ���
��Q>��@��������+�����������;�>�;�Q�%@
��\>��@��������+�����������;�>�;�\�%@
�>�L@
��>� QQ@�������M�����������>�L��%�� �>�)
��>�QQ @�������M�����������>�)��%�� �>�)
A����B Q�A���B ���M��������������
1<������ ���������������� ���� ������
���� ������
� ��� ���������������������D���
� �\� ��������������
��7��D����\�
� �77����������������������8�������������9���!�5�������2�����������������������������������������������+����� 7�
1������� ���������������� ���� ������
� N������������������ ���������������� �
� :����� ����
� ����� ���������� ������ ��������� ������&����
� �������� ��������+����������������&���!��� >�����#
� ���7�������� ���� ��������������� ��
Z����� ����[��������$����!���7����#V
���.����������&��W
&*���������
1L������ ���������������� ���� ������
&*����������
� ���������������������� �
� $���&����������
� ������������������������ �������
� ���� � ��������������
� N������&����������������� ��#� ���������������� �����������
� N������&��������������� ����������4���������� ���������� �����������@
1)������ ���������������� ���� ������
&*�����������
� $ �����
����� ��� ���!��� �9���� �#
V
��� �����@
�� !�e�#
����� >��@
���
����� >��@
������ �����@
W�
Cada parámetro con su tipo.No es válido: int a, bCada parámetro con su tipo.No es válido: int a, b
Indica el valor que devuelve el método Indica el valor que devuelve el método
,����&��
����� ��� ���!��� �9���� �#�V
������ !�e�#�S������@
W
1-������ ���������������� ���� ������
&*����������
� $ �����
������� ��� �����!��� �����#
V
N%��������������!]������] Q������#@
W
11������ ���������������� ���� ������
&*���������
� C&������ ����������� ������ ��� �������7�� ������������� ��� ����������� ��� $������������ ���� ��������������* ����������������
� N���� ����� ��� ���������� ��� � ������� ��!����� ����4������9�����������������#
� $ ����� �� �$����� V
��� ���@�$�����!#�V
N%�������������!].����������� ������$ ����]#@����>�<=@
WW
15������ ���������������� ���� ������
&*����������� 5�#����� ����&���
� ������&��� ����������������������������������
� $ �����
����� �� $ �����V
����� ��� ������!��� �9���� �#�V������������W
����� ��� ������!����� �9������ �#�V������������W
����� ��� ������!��� �9���� �9���� #�V������������W
����� ��� ������!#�V������������W
W
� N��������� ��������������%��/����������7����
� �����������7 ���������������� ������������7���������������������A�������������&��B
16������ ���������������� ���� ������
&*���������������� ����
� ������������� ���%������
� �����������������������
� ���������� ������� ��
� N����+���������������������� ���
� '� ������� �������������������.��� �������� ��
� C&���������23
� ���� ���+������ ������ ������������������ !�����#��
� N�� ���������7�� ������ �������������������
� "����� ��� ��� �������������A���� ��B !��� ����������� ��#
18������ ���������������� ���� ������
&*����������������� ���� � $ �����
public class Referencia{
int dato;Referencia (int valor) {dato = valor;
}public static void main(String[] args){Referencia a = new Referencia(10);//Referencia al objetoReferencia b = a;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);a.dato++;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);
}}
public class Referencia{
int dato;Referencia (int valor) {dato = valor;
}public static void main(String[] args){Referencia a = new Referencia(10);//Referencia al objetoReferencia b = a;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);a.dato++;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);
}}
:��������!+���:��������!+���
�4?� ?�$������@$�&�� ��"������($�&��4?� ?�$������@$�&��A��������7 �4?��?�$������ ��"�������4�BC#4�BC�4�BB#4�BB
����!+��� ����!+���
public class Clonacion implements Cloneable{
int dato;Clonacion (int valor) {dato = valor;
}public static void main(String[] args)throws CloneNotSupportedException
{Clonacion a = new Clonacion(10);// Clona el objetoClonacion b = (Clonacion) a.clone();System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);a.dato++;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);
}}
public class Clonacion implements Cloneable{
int dato;Clonacion (int valor) {dato = valor;
}public static void main(String[] args)throws CloneNotSupportedException
{Clonacion a = new Clonacion(10);// Clona el objetoClonacion b = (Clonacion) a.clonea.clone();();System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);a.dato++;System.out.println("a: " + a.dato); System.out.println("b: " + b.dato);
}}
�4?� ?�$������@$�&�� !��������($�&��4?� ?�$������@$�&��A��������7 �4?��?�$������ !���������4�BC#4�BC�4�BB#4�BC
5=������ ���������������� ���� ������
&*��������'������ ���� � D#$���(�����23
� 5������� ����!#@�� � �������������� ����+�D��
� M��������������� ������
� .��������������
� :��������<�� ���"� � �
� N�����7 ������������������������������A ���!#B
� O����������<G ����� ����>������ ���!#
5<������ ���������������� ���� ������
&*�������'������ ���� � .��� ����"� ���������
� ������������������ �� !�����#��
� "� � �� ���!#� ��+�������� ��������
N���� .���O�N�������$; �����
� M�� ������ ���/��� ���������� "� � � ���!#�V0W
� (������������� ���!#�������� ���
//Imprime: 3 3 2
5������� ���������������� ���� ������
&*��������'������ ����
� .��� ����"� ��� ������
� <��.��� ������ ����
� .������ �� ������
� .��� ������� ������� �� ��� ���
� ���.��� ��������������
� .���� ������ �������� ���"� �� ������
� .���� ��� ��4 ��� ��� ����� ������� �� ����� ��
� ����� � +�� �� � � �� ��� ������ �������
5L������ ���������������� ���� ������ 5)������ ���������������� ���� ������
5-������ ���������������� ���� ������ 51������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ��������� .��� �������������"
�� !�)������#
V
����� ��<@
�����
����� ���O@
W
� (�����������������������+����������� ���%������� �������������%���������� ��
55������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ���������� .��� ������������" ����
�� !�)������#
V
I������������ ��<@
W
���
V
I������������ ���@
W
56������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ����������� $ �����
�� ! ����� � �� d>�-#N%��������������!]������]#@
���N%��������������!]N����]#@
�� !����d>�������#V
����>���� U ������@N%��������������!]N������� �����]#@
W���
N%��������������!]$�������������� �����]#@
58������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ���������� .��� �����/����������" ���� �" ���� (((
�� !�)������ #V
I��������� ��<@
W���� �� !�)�������#�V
I��������� ���@
W���� �� !�)������;#�V
I��������� ��L@
W���� V
I��������� ��)@
W
6=������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ��������� .��� �����/����������0���7
?�� � !�;������#�V
�������<��VI��������� ��<@�Z����F[@W
����������VI��������� ���@�Z����F[@W
�����
�������O��VI��������� ��O@�Z����F[@W�Z���������I��������� ��OQ<@[
W
6<������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ���������� .��� ���D�� ������?�� ��
� .��������� ��� ����� �������� �����/�� �������������;��������� ;� �������� ��� ���
� (������� ���������� ��� �����%������� � ���������� ������������������ ��
� .�������� � ������������� ��� ��������&����� � ��������+������������ ������ ������ #��8
6������� ���������������� ���� ������
+���������������� �������� �� ������� ����� ����������� $ �����
?�� � !���#�V
���<��N%��������������!](���]#@�����F@
������N%��������������!]C����]#@�����F@
���L��N%��������������!]C�&� ��]#@�����F@
���)��N%��������������!]�����]#@�����F@
���-��N%��������������!]������]#@�����F@
���1��N%��������������!]N7���]#@�����F@
���5��N%��������������!]:����]#@�����F@
W�
6L������ ���������������� ���� ������
+���������������� �������� �� ������� ����� ������������ $ �������O/��������D���������<9�9L0
?�� � !��#�V ���<� ���L� ���-� ���5� ���6� ���<=� ���<���O:�� >�L<@�����F@ ���)� ���1� ���8� ���<<��O:�� >�L=@�����F@ �����
�� !�!!%��� c�)�>>�=#�ff�T!%��� c�<==�>>�=##�gg�!%��� c�)==�>>�=#�#O:�� >��8@
��� O:�� >��6@����F@
W�
6)������ ���������������� ���� ������
+���������������� �������� �� �������$������������
� E� ���07����
?���� !�;������#�V
I������������ ��@
W
� E� ������07����
��V
I������������ ��@
W�?���� !�;������#
6-������ ���������������� ���� ������
+���������������� �������� �� �������$�������������
� $ �����
������>�<@?���� ! ������e>�<=#V
����>���� Q� �����@ �����QQ@
W
������>�<@�V
����>���� Q� �����@ �����QQ@
W�?���� ! ������e>�<=#
61������ ���������������� ���� ������
+���������������� �������� �� �������$�������� �����
� E� ���"��
�� !��� ����4� ���@��;������@��� ������#
V
I������������ ��@
W
65������ ���������������� ���� ������
+���������������� �������� �� �������$�������������
� $ �����
�� ! �����><@ �����e><=@ �����QQ#
����>���� Q� �����@
�� !��>�<=9� �>�=@���d� @� QQ9��HH#
N%��������������!]*�������� ���������� ���A Q� #@
66������ ���������������� ���� ������
+���������������� �������� �� �������$������������
� N����� ���#��8�
� �7��������������� ��� ��� ������%�����������
� 3�����4������ � � ���������� ���!��� � ������������ ���+��������������&#
� N����� ��������� ��
� N������������������� �������������
� 3�����4���������� ����� ����������� ���%� ����4������������������� ���
68������ ���������������� ���� ������
+���������������� �������� �� �������$�������������
� $ �����
�� !���>=9������><@������e-@������QQ#V
�� !�����e><#����F@���������������� ��
����>�����Q������@W
�� !���>=9������><@������e-@������QQ#V
�� !�����e><# ������@
����>���� Q������@W
=
���
�QLQ)�>�8
���
8=������ ���������������� ���� ������
���� ��������������������
� .����������������� ����7������5����
� (�� ���������� ������������ ��������� ���������������� ��� N��� ��� �������+��� ����������� ������+�����
�������� ���������� ��� ���
� N��������� ����� �� ���+��������� ���� N����� ����� >���? N�����!���#@
� $ ������ N����� �����>���? N�����!]C���������� �����]#@
� N����� �����>�]C���������� �����]@
8<������ ���������������� ���� ������
���� ���������������������� .� ����� ������� ��������������E
� $ �������N����� ����L�>�������Q�����<@
� (������������� ��������&��������723
� $ ���������� ��������>������������!#@���A�� B�������!#
� � ������� ��7 ������&����7���!9����#
� N����� �������������������� ���D��� ��������=���H<� $ ������� ��� �>������ �����!L#@�
� .����� ������� ��������&����* ���!#���2#� $ ��������� !�����<��+���!�����#�#
� N���� ����������<>>�������� �������������������� ����������� ���������������� ������TT
#"����!��!����� /<=* *<!������/�0�><�<>�<=* *<!��2��/0><�<�>�<�<!�?����/<�<0�>�<�<�>�/<�<--<$<00,����� �@����� �����
8������� ���������������� ���� ������
���� ����������������������
� N�� ��������&���� #�����!9���� 9�9�����#
� 1�����2 ���� ������� ������������������������������� ����� � �������AB �������/������������
� 9���� ��9����� ��������!���#
� N�����������������D��� ������ ����� ����4� $ �����
N����� �����>�]C�� �����]@
N����� ������<�>�������������!<9-#@
N����� ��������>�������������!)9������������!##@
N����� ��������>�������������!)#@
N%��������������!������<#@�����C��������� �
N%��������������!�������#@�����C������������
equivale
8L������ ���������������� ���� ������
,����� ���
� .����������������� ����7��������6
� ����������� �������%�
� $�� ��� ����������� ����������������
� .� ���������7������������������������
� $ �����
����� �����Z[@
�����Z[������@
�����Z[� ���@
$�������������Z[@
� N�� �� �������&�������� ��
8)������ ���������������� ���� ������
,����� ����
� !������ ����������%�
� .������ ���� ��������������?
� N������ ������������������� � ���������&���������� ����
� $ ���������� >���? �����ZL=[@
����>���? �����Z-=[@
$�������������Z[�>���? $������Z1=[@
� ������ ������������
� .�����D��� �������������� � ������� ������ ����������������������%
� $ ������ �����Z<-[ ���Z���� �[
8-������ ���������������� ���� ������
,����� �����
� N���������% ����������������������������� ���������=�%����/���������H<
� N������������� ��� �����������% ������������������ ������������2�������������� � � ���
� $������ ������������������������ �������+������D��� ���������� �����7�����
� N�������D ������ �������; �� ���
� (�����% ����������������# ����1#���� ��������������7 +��� �����������/��������� ������������%
� $ �����
��� ��������>�������������@������O"�$N�*O�Ch,":"
81������ ���������������� ���� ������
,����� ����� ����% ���� ���
� (�� ��� ������������% �� ��������/��� ��������� ������������%
� :�������� �������� ������������+��������
� $ �����
����������Z[@
�����>���0 �����FBCCG@��\�����% ������������������������\�
iO��� �������<==�����������������T
�� !�>=@�e�����������@�QQ#�����Z�[�>���0 �����!#@
N%��������������!����Z)-[��N�����!##@
85������ ���������������� ���� ������
,����� ���
� ����% ����������������
���Z[Z[�������>���? ���Z���<[Z����[@
���Z[Z[Z[�������>���? ���Z���<[Z����[Z���L[@
�������
� $ �����
���Z[Z[�������>���? ���Z-[Z-[@
�����Z[Z[������>���? �����Z<=[Z<=[@
86������ ���������������� ���� ������
,����� ����
� $ �����!��� ����4� ����U��7�� �H %����������%#�
����� �� $ ����V
����� ���� ��� ����!N����� Z[����#V
�������9��9������Z[�>�<BH�,H�IH�JH�K=>
�� !�>=9����>=�@��e-@��QQ#����Q>������Z�[@
N%��������������!](���������]�Q����#@W
W
88������ ���������������� ���� ������
,����� �����
� $ �����!����% ���7�� #��
����� �� $ �����V����� ���� ��� ����!��� �������#��V
��� Z[� � ����>���? ���Z�������[@N%��������������!](��������]�Q� � ����������#@
W����� ���� ��� ����!N����� Z[����#��V
����!<=#@ ����!�=#@
WW
<==������ ���������������� ���� ������
+-��$��� ������
� $; �� ����������� ��� �����������+��������� �������������� � � �����������������
� �������������������� ����������������; �� ���
� $; �� ������7�������������
���� �:��������:�������
,��?����,��?����
M������$; �����M������$; ����� �"$; ������"$; ����� .��O�3���$; �����.��O�3���$; �����
����;"��"�E���$; ���������;"��"�E���$; �����
��������� $; �������������� $; �����
��� �$; �������� �$; �����
3���O�3���$; �����3���O�3���$; �����
<=<������ ���������������� ���� ������
+-��$��� �������
� (�� �������
� $�������� ����� ���9����������9���������C9��� �
� N������ ������������������ ��������
� (�� �����:��������
� $; �� ��������D ����
� (�������� ����� ������:�������
� N��������������� ����������������������� ���
� $; �� �����;��D ����
� $��������� ����������������A)�����
� ������������������������ ������%� ��+������������� ��
<=������� ���������������� ���� ������
+-��$��� ��������
� (�� ����������������$; ����� ������� �������������� F����� ��������9� �����9��� �
� ���������������������������B��.�$�� ��������������&���
� N����� ���C����!#��C��� ��� ����������; �� ���
� N����� �N�����!#��:�����������N����� +����� ���������; �� ���
� ��� �����N�� F,�� �!#������ ������&�������������4�����; �� ���
<=L������ ���������������� ���� ������
+-��$��� �������
� .���������������; �� ����� $������� ��% ���� �� � ����������%
��% V
���.�����+������������� ��������; �� ���
W
�� � !B��A)������ �; ��#�V
���I�����������; �� ���
W
Z������% V
�\�.�����+������ � �����������! ���; �� ������������#�\�
W�[
<=)������ ���������������� ���� ������
+-��$��� ������
� N�������� �����������������+����6 ������ �������; �� �����������3���04�����5� !��� ��������#
� N����������� � � ���������������� �������������+����6
� N��� � ������� �������������������+�������7!����#
� ������� ����������������������; �� ���� �������� �7���������7
� N�� ������7 ���������������+���������� ��
� N������ � ����<���+��� �� �
<=-������ ���������������� ���� ������
+-��$��� �������
� A+�����
����� �� $ ����.�� � VN����� ���� �Z[�>�V](��]9�].���]9�]:����]�W@����� ���� ��� ����!N�����Z[����#V
��� ��@�6 V
�� ! �� >�=@� �� e>�L@� ��QQ#N%��������������!���� �Z ��[#@
W����7 !����%����;"��"�E���$; ����� �; ��#�V
N%��������������!]$������% ������������]#@W
WW
<=1������ ���������������� ���� ������
+-��$��� ��������� �������� ����:�������
� $�� ���������������������������; �� ���
� �������������+�������&�������� �����������; �� ��������&�����������+���������������
� .�7������7�0��� A+�����
��� ����$ ��!#����? �"$; �����9���������� $; �����
V
���.�����+������������4�������; �� ����
���O����� ������� �����% 0 �� � �+�D !���+����������������4��#
W
� ����������%��������������
� .������������������; �� ����%����������
� :������������������; �� ����%���������������&����������
<=5������ ���������������� ���� ������
+-��$��� ���������� !��� ����:�������������
� $;���������� ����$; ����� !�������; �� ���#
� �������������+�������&�������� �����������; �� ��������&������������+���������������
� .�7������7�0��� A+�����
�� C�$; �� �� �;���� $; �����V
����� C�$; �� ��!#�VW
����� C�$; �� ��!N����� �����#�V����!�����#@W��������������C����!#
W
���� �:��������:�������
,��?����,��?����
M������$; �����M������$; ����� �"$; ������"$; ����� C�$; �� ��C�$; �� ��. . .
<=6������ ���������������� ���� ������
+ �����.����������/ �������
� M��������������&������� ����56���� ������+����� ��������
� .������9���������9�L�� ���
� 56����(�� ��"� �����������N�����
� 56����(� � ��"� �����������N�����
� 56����(� ��"� �����������N�����
� C&������N%������
� ��� ����!#���������� ��7 ����%������������ �����
� C&������N%������ %�N%�������
� ��� �����! ���+���� ���#
� ��� �������! ���+���� ���#
<=8������ ���������������� ���� ������
N%�����������!#@
+ �����.����������/ ��������
� A+��������������� ��7 ��������� ����
����� $�&�(��(L>
����� �� $ ����
V
����� ���� ��� ����!N����� Z[����#��7�0� 'D�:�������
V
��� ��� ���@
N%��������������!]:���������]�Q� ��� ����Q�]��]#@
W
W
��� ��� > ! ���#
<<=������ ���������������� ���� ������
+ �����.����������/ ���������
� (� �������������D�����.����M ""��������
� $���&���5���� ���N���23 ��������� ��� �������������a�
� M ""�������� �� ������������� ������ ���� �������N%������ ������ ��������� ����'�� �5����4
� $��� ����������������������'�� �5���������
M�����!����� ��#
M�����!����� ��#
E�������M�����E�������M����� �����N�����M����������N�����M�����
"� � �"� � �
<<<������ ���������������� ���� ������
+ �����.����������/ ��������
� A+�����/���������������9��0�
����� ������\@����� �� $ ������V
����� ���� ��� ����!N����� Z[����#����? �"$; ����� V�����N�����M����� ����$������ >���?
�����N�����M�����!N%������#@E�������M����� ������� >���? E�������M�����! ����$������#@N����� ���@
����>�������������(���!#@N%��������������!]:���������]�Q����#@
WW
<<������� ���������������� ���� ������
+ �����.����������/ �������
� A+�����/�����������������0�
����� ������\@����� �� $ �����V
����� ���� ��� ����!N����� Z[����#����? �"$; ����� V�����N�����M����� ���� >���? �����N�����M�����!N%������#@E�������M����� ����>���? E�������M�����!����#@��� ����@N����� �����@
N%��������������!]������4 ������/�����]#@ ������>� ��������(���!#@�����>�'�����(����'��2������3>
WW
<<L������ ���������������� ���� ������
��������������/ �����&��0
� ���� ������ ��������-��7(� %�-��7( '
� ������� ������� ���� �����������������������7�� ������
� �������&���
C�����:�����!��#
C���� !��#
C���������!#
C�����;�!��#
C�����M�����!��#C�������!��#
C������!��#C������!��#
C������!��#C�����?!�9$#
C�������!�9$#C����+��!��#