Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Java Clases Basicas, Apuntes de Ingeniería Infórmatica

Asignatura: Programación Orientada a Objetos, Profesor: , Carrera: Grado en Ingeniería Informática, Universidad: UMA

Tipo: Apuntes

2013/2014

Subido el 10/04/2014

orial-3
orial-3 🇪🇸

3.8

(20)

8 documentos

1 / 38

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Clases Básicas Predefinidas
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Vista previa parcial del texto

¡Descarga Java Clases Basicas y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

Clases Básicas Predefinidas

Contenido

• Organización en paquetes

• Clases básicas: java.lang

• Clases del paquete java.util

Creación de paquetes

• Para definir un paquete hay que encabezar

cada fichero que componga el paquete con la

declaración

package ;

• Cuando no aparece esta declaración, se

considera que las clases e interfaces de los

ficheros pertenecen a un paquete anónimo.

  • Desde fuera de un paquete sólo se puede acceder a clases e

interfaces public (exceptuando el acceso a clases herederas

en el caso de declaraciones protected).

  • Para acceder desde otro paquete a una clase o interfaz se

puede:

  • Utilizar el nombre calificado con el nombre del paquete

gráfico.Rectángulo r;

  • importarla al comienzo del fichero y usar su nombre simple

import gráfico.Rectángulo;

  • importar el paquete completo al comienzo del fichero y usar los

nombres simples de todas las clases e interfaces del paquete

import gráfico.*;

  • El sistema de ejecución de Java importa de forma automática el

paquete anónimo, java.lang y el paquete actual.

Uso de paquetes

El paquete java.lang

  • Siempre está incluido en cualquier aplicación, no es necesario

importarlo explícitamente.

  • Contiene las clases básicas del sistema:
    • Object
    • System
    • Class
    • Math
    • String, StringBuilder
    • Envoltorios de tipos básicos
    • ...
  • Contiene interfaces:
    • Cloneable
    • Comparable
    • Runnable
  • Contiene también excepciones y errores.
  • Es la clase superior de toda la jerarquía de clases de Java.
    • Define el comportamiento mínimo común de todos los objetos.
    • Si una definición de clase no extiende a otra, entonces extiende a Object. Todas las clases heredan de ella directa o indirectamente.
    • No es una clase abstracta pero no tiene mucho sentido crear instancias suyas. Métodos de instancia importantes:
    • boolean equals(Object)
    • Object clone()
    • String toString()
    • void finalize()
    • Class getClass()
    • int hashCode()
    • ... consultar la documentación.

La clase Object

  • El método hashCode() devuelve un int para cada objeto de la clase.
  • Hay una relación que debe mantenerse entre equals() y hashCode();

a.equals(b) => a.hashCode() == b.hashCode()

  • Todas las clases del API de Java verifican esa relación.

class Persona { private String nombre; private int edad; public Persona(String n, int e) { nombre = n; edad = e; } public boolean equals(Object o) { return (o instanceof Persona) && (edad == ((Persona) o).edad) && ((Persona) o).nombre.equals(nombre); } public int hashCode() { return nombre.hashCode() + edad; } }

equals() y hashCode()

  • Maneja particularidades del sistema.
  • Tres variables de clase (estáticas) públicas:
    • PrintStream out, err
    • InputStream in
  • Métodos de clase (estáticos) públicos:
    • void exit(int)
    • long currentTimeMillis()
    • void gc()
    • void runFinalization() provoca la ejecución inmediata de los finalize() pendientes
    • ...
  • Consultar documentación para más información.

La clase System

  • Las cadenas de caracteres se representan en Java como

secuencias de caracteres Unicode encerradas entre comillas

dobles.

  • Para manipular cadenas de caracteres, por razones de eficiencia,

se utilizan dos clases incluidas en java.lang:

  • String - para cadenas constantes
  • StringBuilder - para cadenas modificables

Cadenas de caracteres

• Cada objeto alberga una cadena de caracteres.

• Los objetos de esta clase se pueden inicializar...

  • de la forma normal:

String str = new String (“¡Hola!”);

  • de la forma simplificada:

String str = “¡Hola!”;

• Las cadenas de los objetos String no pueden

modificarse (crecer, cambiar un carácter, ...).

• Una variable String puede recibir valores distintos.

La clase String

Posiciones de una cadena

Posiciones de cadena

str.charAt(0) (^) str.charAt(str.length() - 1)

str.substring(5, 8)

str.indexOf(‘n’) str.lastIndexOf(‘n’)

str

public class NombreFichero { private String camino; private char separadorCamino, separadorExtensión;

public NombreFichero(String str, char sep, char ext) { camino = str; separadorCamino = sep; separadorExtensión = ext; } public String extensión() { int pto = camino.lastIndexOf(separadorExtensión); return camino.substring(pto + 1); } public String nombre() { int pto = camino.lastIndexOf(separadorExtensión); int sep = camino.lastIndexOf(separadorCamino); return camino.substring(sep + 1, pto); } public String directorio() { // completar (ejercicio) } ... }

  • Las clases PrintStream y PrintWriter incluyen el método

printf(String formato,...)

El método estático format

El objeto A[65] con 78 Cadena Esto es una cadena Entero 34 Flotante 457, Lógico true

class EjPf { static public void main(String[] args) { String s = String.format(“El objeto %20s con %d", new A(65), 78); System.out.println(s); System.out.printf( "Cadena %40s\nEntero %15d\nFlotante %8.2f\nLógico %b\n", "Esto es una cadena", 34, 457.2345678, 3 == 3); } } class A { int a; public A(int s){ a = s; } public String toString() { return "A[“ + a + “]"; } }

  • Cada objeto alberga una cadena de caracteres.
  • Los objetos de esta clase se inicializan de cualquiera de las formas

siguientes:

StringBuilder strB = new StringBuilder(10); StringBuilder strB2 = new StringBuilder (“ala”);

  • Las cadenas de los objetos StringBuilder se pueden ampliar,

reducir y modificar mediante mensajes.

  • Cuando la capacidad establecida se excede, se aumenta

automáticamente.

La clase StringBuilder