Ir al contenido principal

Java Tip 2: En Java todo es un Object

Teóricamente, en Java todo es un Object. Cada una de las clases es subclase (clase hija) de la superclase (clase padre) Object.

Padre.java
package com.cityjava;

public class Padre extends Object{}

Test  is-a
En Java, todos los objetos Java son polimórficos ya que cualquier objeto pasará la prueba IS-A para su propio tipo y para la clase Objeto.
Object is-a Object

Padre is-a Object

Hijo.java

package com.cityjava;

public class Hijo extends Padre {}


Hijo is-a Object
¿Cómo instanciamos?
Primera forma:
Clase referencia = new Clase();
Segunda forma:
Superclase referencia = new Subclase();
Tercera forma:
Subclase referencia = new Subclase();

Main.java
package com.cityjava;

public class Main{
   public static void main(String[] args){
   //Primera forma:    
   Padre padre = new Padre();

   //Segunda forma:
    Padre hijoPadre = new Hijo();

   //Tercera forma:
    Hijo hijo = new Hijo();

}

}

Nota:  Tanto Padre e Hijo son derivados de Object, pero Object nunca será un Padre o un Hijo.
 De igual forma un String es-un Object pero nunca un Object será un String.  

Comentarios

Entradas populares de este blog

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E

Explorando la Programación Orientada a Aspectos (AOP), con @domix

Clojure para programadores Java(2)

      Siguiendo la serie de post sobre Clojure veremos los tipos de datos en este lenguaje de programación. Como cualquier otro lenguaje dependiente de la JVM posee tipos de datos. Ejemplos de tipos de datos en Clojure  "Esto es una cadena de texto. "  String  'W'  Character  34500  Long  7.54  Double  nil  null  bar  símbolo en Clojure  :bar  llave en Clojure  (1 2 3)  lista en Clojure  [1 2 3]  vector en Clojure  {"Alef" 1 "Bet" 2 }  mapa en Clojure REPL de Clojure Abrimos una terminal y tecleamos clj. Esto abrirá un REPL: Clojure 1.10 .2 user=> 1 +2 +3 +4 1 2 3 4 user=> + 3 4 5 6 # object[clojure.core$_PLUS_ 0 x1d572e62 "clojure.core$_PLUS_@1d572e62" ] 3 4 5 6 user=> (+ 3 4 5 6 ) 18 user=> ( * 4 5 6 7 ) 840 user=> "Esto es una cadena en Clojure." "Esto es una cadena en Clojure." user=> ( def texto "