Académique Documents
Professionnel Documents
Culture Documents
La Clase Object
Esta situada en la parte mas alta del rbol de la herencia en el entorno de desarrollo Java.
Todas las clases del sistema Java son descendentes (directos o indirectos) de la clase Object. define los estados y comportamientos bsicos que todos los objetos deben tener
como la posibilidad de compararse unos con otros.
Mtodos
El mtodo toString()
El mtodo clone() El mtodo finalize()
Ejemplo:
Ejemplo:
Un uso muy manejado del mtodo getClass() es crear un ejemplar de una clase sin conocer la clase en el momento de la compilacin Este mtodo de ejemplo, crea un nuevo ejemplar de la misma clase que obj que puede ser cualquier clase heredada desde Object (lo que significa que podra ser cualquier clase). Object createNewInstanceOf(Object obj) { return obj.getClass().newInstance(); }
Ejemplo:
El String de un objeto entero es el valor del entero mostrado como texto. Thread (Nombre , prioridad)
Thread[main,5,main]
El mtodo clone()
protected void finalize() {} Limpia un objeto antes de recolectar la basura. Este mtodo se explica en la leccin Eliminar Objetos no Utilizados
Otros Mtodos
notify()
notifyAll()
wait() existen 3versiones para programar cualquier objeto Java como un hilo.
CLASE MATH
La clase Math representa la librera matemtica de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propsito de agrupacin, por eso se encapsulan en Math, y lo mismo sucede con las dems clases que corresponden a objetos que tienen un tipo equivalente (Character, Float, etc.). El constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.
Esta clase contiene variables de campo y mtodos estticos utilizados para realizar operaciones matemticas que van desde el clculo de una raz cuadrada hasta el de funciones trigonomtricas.
static double ceil(double num): devuelve el double de tipo entero (double-entero, a partir de ahora) ms cercano al argumento que se le pasa, yndose hacia + infinito. Un double-entero es un nmero decimal cuya parte decimal es siempre 0. static double floor(double num): dem anterior, pero devolviendo el double-entero ms cercano al argumento que se le pasa, yndose hacia infinito. static double rint(double num): devuelve el double-entero redondeado y asociado al argumento que se le pasa, tomando como cifra base para el redondeo, la primera despus de la coma del argumento, y siguiendo los criterios habituales de redondeo NOTA: si la cifra base para el redondeo es mayor o igual que 5, se aumenta en una unidad la cifra anterior; si la cifra base es menor que 5, no se modifica la cifra anterior.Si se quiere redondear a partir de una determinada cifra decimal, se multiplicar por la potencia de 10 que corresponda, se aplicar el mtodo y, despus, se dividir entre la potencia de 10 por la que anteriormente se ha multiplicado.
La siguiente tabla muestra algunos mtodos, donde la palabra reservada static indica que el mtodo puede ser invocado a travs del nombre de la clase.
Mtodo static int abs (int num) static double acos (double num) static double asin (double num) static double atan (double num static double cos (double angulo) static double sin (double angulo) static double tan (double angulo) static double ceil (double num static double exp (double pot static double floor (double num) static double pow (double num, double power static double random ( static double sqrt (double num
Regresa valor absoluto de num arco coseno, arco seno o el arco tangente de num coseno,seno o tangente de angulo
techo de num, i.e., el entero ms pequeo mayor o igual a num valor e ala pot piso de num,i.e., el entero ms grande menor o igual a num num elevado a la power nmero aleatorio entre 0 (inclusive) y 1 (inclusive) la raz de num, que debe ser positivo
Miembros dato constantes La clase Math define dos constantes muy tiles, el nmero y el nmero e. public final class Math { public static final double E = 2.7182818284590452354; public static final double PI = 3.14159265358979323846; //... } El modificador final indica que los valores que guardan no se pueden cambiar, son valores constantes Se accede a estas constantes desde la clase Math, de la siguiente forma System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);
Funciones miembro
La clase Math define muchas funciones y versiones distintas de cada funcin. Por ejemplo, para hallar el valor absoluto de un nmero define las siguientes funciones. Se llama a una u otra dependiendo del tipo de dato que se le pasa en su nico argumento. public final class Math {
int i = -9; double x = 0.3498; System.out.println("|" + i + "| es " + Math.abs(i)); System.out.println("|" + x + "| es " + Math.abs(x));Math.abs(i), llama a la primera versin, y Math.abs(x) llama a la ltima versin.
Funciones trigonomtricas
En las funciones trigonomtricas los argumentos se expresan en radianes. Por ejemplo, el ngulo 45 se convierte en radianes y luego se halla el seno, el coseno y la tangente double angulo = 45.0 * Math.PI/180.0; System.out.println("cos(" + angulo + ") es " Math.cos(angulo)); System.out.println("sin(" + angulo + ") es " + Math.sin(angulo)); System.out.println("tan(" + angulo + ") es "+Math.tan(angulo));
Para pasar de coordenadas rectangulares a polares es til la funcin atan2, que admite dos argumentos, la ordenada y la abscisa del punto. Devuelve el ngulo en radianes. double y=-6.2; //ordenada double x=1.2; //abscisa System.out.println("atan2(" + y+" , "+x + ") es " + Math.atan2(y, x));
CLASES ENVOLTORIO
Uno de los usos ms habituales de la clases envoltorio es la utilizacin de mtodos estticos que permiten obtener a partir de una String que almacena un nmero en forma de texto, el correspondiente valor numrico almacenado en la variable primitiva que interese.
COMPONENTES.
la clase Integer dispone del mtodo "static int parseInt(String)" que transforma la String del argumento en un nmero que se almacena en la variable primitiva int.
La clase String
(una de las ms importantes)
Dentro de un objeto de la clases String o StringBuffer, Java crea un array de caracteres de una forma similar a como lo hace el lenguaje C++. A este array se accede a travs de las funciones miembro de la clase.
Los strings u objetos de la clase String se pueden crear explcitamente o implcitamente. Para crear un string implcitamente basta poner una cadena de caracteres entre comillas dobles. Por ejemplo, cuando se escribe
Un string nulo es aqul que no contiene caracteres, pero es un objeto de la clase String. Sin embargo,
String str;
Una vez creado un objeto de la clase String podemos obtener informacin relevante acerca del objeto a travs de las funciones miembro. Para obtener la longitud, nmero de caracteres que guarda un string se llama a la funcin miembro length. String str="El primer programa"; int longitud=str.length();
Podemos conocer si un string comienza con un determinado prefijo, llamando al mtodo startsWith, que devuelve true o false, segn que el string comience o no por dicho prefijo String str="El primer programa"; boolean resultado=str.startsWith("El"); En este ejemplo la variable resultado tomar el valor true.
De modo similar, podemos saber si un string finaliza con un conjunto dado de caracteres, mediante la funcin miembro endsWith.
String str="El primer programa"; boolean resultado=str.endsWith("programa");
Si se quiere obtener la posicin de la primera ocurrencia de la letra p, se usa la funcin indexOf. String str="El primer programa"; int pos=str.indexOf('p'); Para obtener las sucesivas posiciones de la letra p, se llama a otra versin de la misma funcin pos=str.indexOf('p', pos+1); El segundo argumento le dice a la funcin indexOf que empiece a buscar la primera ocurrencia de la letra p a partir de la posicin pos+1.
Otra versin de indexOf busca la primera ocurrencia de un substring dentro del string. String str="El primer programa"; int pos=str.indexOf("pro"); Vemos que una clase puede definir varias funciones miembro con el mismo nombre pero que tienen distinto nmero de parmetros o de distinto tipo.
Comparacin de strings
La comparacin de strings nos da la oportunidad de distinguir entre el operador lgico == y la funcin miembro equals de la clase String. En el siguiente cdigo String str1="El lenguaje Java"; String str2=new String("El lenguaje Java"); if(str1==str2){ System.out.println("Los mismos objetos"); } else{ System.out.println("Distintos objetos");} if(str1.equals(str2)){ System.out.println("El mismo contenido"); }else{ System.out.println("Distinto contenido");} Esta porcin de cdigo devolver que str1 y str2 son dstintos objetos pero con el mismo contenido. str1 y str2 ocupan posiciones distintas en memoria pero guradan los mismos datos.
La funcin miembro comapareTo devuelve un entero menor que cero si el objeto string es menor (en orden alfabtico) que el string dado, cero si son iguales, y mayor que cero si el objeto string es mayor que el string dado. String str="Toms"; int resultado=str.compareTo("Alberto"); La variable entera resultado tomar un valor mayor que cero, ya que Toms est despus de Alberto en orden alfabtico. String str="Alberto"; int resultado=str.compareTo("Toms"); La variable entera resultado tomar un valor menor que cero, ya que Alberto est antes que Toms en orden alfabtico.
En muchas ocasiones es necesario extraer una porcin o substring de un string dado. Para este propsito hay una funcin miembro de la clase String denominada substring. Para estraer un substring desde una posicin determinada hasta el final del string escribimos String str="El lenguaje Java"; String subStr=str.substring(12); Se obtendr el substring "Java". Una segunda versin de la funcin miembro substring, nos permite extraer un substring especificando la posicin de comienzo y la el final. String str="El lenguaje Java"; String subStr=str.substring(3, 11); Se obtendr el substring "lenguaje". Recurdese, que las posiciones se empiezan a contar desde cero.
Para convertir un nmero en string se emplea la funcin miembro esttica valueOf (ms adelante explicaremos este tipo de funciones). int valor=10; String str=String.valueOf(valor);
La clase String proporciona versiones de valueOf para convertir los datos primitivos: int, long, float, double.
Cuando introducimos caracteres en un control de edicin a veces es inevitable que aparezcan espacios ya sea al comienzo o al final. Para eliminar estos espacios tenemos la funcin miembro trim String str=" 12 "; String str1=str.trim(); Para convertir un string en nmero entero, primero quitamos los espacios en blanco al principio y al final y luego, llamamos a la funcin miembro esttica parseInt de la clase Integer (clase envolvente que describe los nmeros enteros) String str=" 12 "; int numero=Integer.parseInt(str.trim());