1.java determinar si el objeto es un tipo de método de una clase?
instanceof: la determinación de la propiedad pertenece a la clase o no distingue entre la clase padre es una subclase de
getClass:. a.getClass () es igual a (ClassA.class)
El tipo de referencia 2.java
1) de referencia fuerte: java común de referencia A a = new A ()
2) las referencias suaves: También son útiles para describir algunos, pero no necesariamente objeto, antes de que el sistema a excepción de desbordamiento de la memoria, estos objetos serán recuperados dentro de una columna en una segunda gama de recuperación. Si la recuperación no tiene suficiente memoria, será lanzado excepción de desbordamiento de memoria. implementación de la clase SoftReference
3) Aplicación Débil: Descripción no objetos necesariamente, la intensidad referencias blandas más débil que algunos objetos están asociados con referencias débiles solamente antes de que ocurra una recolección de basura. Después de JDK 1.2, ofrece clases para implementar referencias débiles WeakReference
4) de referencia fantasma: Una referencia a la más débil. Configuración de un objeto de referencia virtual asociado con el único propósito para recibir una notificación cuando se recupera el sistema objeto. implementación de la clase PhantomReference.
papel 3.final
1) la clase de modificación: clase puede no ser heredada
2) métodos de modificación: Método bloqueados para evitar cualquier clase que hereda de modificar su significado; eficiencia. En las versiones anteriores de la aplicación Java, que se construirá en la llamada al método final. Sin embargo, si el método es demasiado grande, es posible que no vea la llamada incrustado cualquier actuación trae. En la versión más reciente de Java, la necesidad de utilizar estos métodos para optimizar la final.
3) la modificación de variables: los tipos de datos básicos, un valor que indica el tipo de cambios de base de datos no puede ocurrir poco después de la inicialización; tipo de referencia, a continuación, después de su punto de inicialización no puede dejar que otros objetos, pero la referencia está dirigida contenido del objeto se cambia; un final = 3 indica una constante, debe asignarse sólo una vez, después de la asignación no cambia el valor de
4. ¿Cómo lograr la clonación
1) para lograr interfaz Cloneable y el clon de anulación () de la clase Object;
2) implementar Serializable: Clonación consigue mediante la serialización y deserialización de los objetos, se puede lograr la profundidad real de los clones.
Nota: la serialización basada en la clonación y deserialización lograr no sólo un clon profundo, lo más importante Genéricos limitada, puede comprobar si el objeto que se clona serializable. El compilador comprueba se hacen, no se produce una excepción en tiempo de ejecución, este esquema es mucho mejor que usar el método clon del clon de la clase Object. Deje que los problemas en tiempo de compilación expuestos siempre es mejor dejar el asunto al tiempo de ejecución.
3) modo de reflexión, utilizando una copia de la reflexión de datos de objeto.
6. Fecha y Hora
1) Java 8 se puede usar para obtener java.time.LocalDateTimel
2) Calendario
:
3) Categorías de SimpleDataFormat:
7. Impresión de la hora actual de ayer
importación java.util.Calendar; público de clase YersterdayTime { públicas estáticas void main (String [] args) { Calendario c = Calendar.getInstance (); c.add (Calendar.DATE, -1 ); System.out.println (c); } }
importación java.time.LocalDateTime; público de clase YersterdayTime { // Java8 pública estáticas void main (String [] args) { LocalDateTime hoy = LocalDateTime.now (); LocalDateTime ayer = today.minusDays (1 ); System.out.println (ayer); } }
8.error 和 excepción
error: Error anormal a nivel de sistema y el programa no tiene que tratar, es un problema grave en el caso de la recuperación no es imposible, pero muy difícil, tales como desbordamiento de la memoria, el programa no se puede esperar para manejar una situación de este tipo
excepción: la necesidad de capturar los procedimientos requeridos o manejo de excepciones, es un diseño o implementación cuestiones, es decir, significa que si se ejecuta correctamente, la situación no va a suceder
9.try-con-recursos
probar uno o más recursos de instrucción especifica; alcanzado objeto de clase java.lang.AutoCloseable / java.io.Closeable
Hace uso:
público clase ReadFile { público estáticas void principales (String [] args) { lector BufferedReader = nulo ; Cadena tampón = nulo ; tratar { lector = nuevo BufferedReader ( nuevo FileReader ( "src / testLectura.txt" )); hacer { tampón = reader.readLine (); System.out.println (tampón); } Mientras que (reader.read () = -1! ); } catch(IOException e) { e.printStackTrace (); } finally { try { // problema: la llamada que se mostrará cerca, sino también añadir una estrecha capa de intentar la captura no es un problema @ Segundo problema: Cierre función también tiene puede lanzar una excepción si se produce una excepción aquí, bloque try dentro de la información de anomalía se descarta reader.Close (); } la captura (IOException e) { e.printStackTrace (); } } } }
Después de su uso:
público clase ReadFile { público estáticas void principales (String [] args) { Cadena bufferSugar = nulo ; tratar (BufferedReader readerSugar = nuevo BufferedReader ( nuevo FileReader ( "src / testLectura.txt" ))) { bufferSugar = readerSugar.readLine (); System.out.println (bufferSugar); } Catch (IOException e) { // generada automáticamente TODO captura bloque e.printStackTrace (); } } }
10.throw 与 lanza
1) Lanza: se utiliza para declarar una excepción, no hacer nada, que hace un llamamiento a que pase; representa la posibilidad de anormal no necesariamente ocurrirá, se puede declarar más
2) throw: excepción específica tiro; ejecutada tiro, va a lanzar una excepción, y sólo lanzar una