tipos tipo objeto instanciar genericos genericas datos comparar comodin clases arreglos java class types

objeto - tipo comodin java



Diferencia entre clase y tipo (3)

Siendo nuevo en Java, estoy confundido entre los conceptos de clase y tipo . Por ejemplo, ¿debería el objeto "Hello World!" pertenecen al tipo String o class String ? ¿O tal vez los dos?


"Tipo" define "qué tipo de datos es"

Ej: "hello world" es una cadena -> "hello world" es String type (String no es un dato premectivo a diferencia de int ... entonces podemos decir "hello world" es un tipo de clase de cadena)

10 es un int -> 10 es un tipo de datos entero.


"Tipo" es la categoría más inclusiva. Las variables en Java pueden tener tres tipos de tipos: los 8 tipos "primitivos" como int y float, interfaces y clases. Los valores (a diferencia de las variables) pueden ser instancias primitivas o de clase.


Una clase es un tipo. Una interfaz es un tipo. Un primitivo es un tipo. Una matriz es un tipo.

Por lo tanto, cada tipo también es una clase (incluida una constante enum), una interfaz, una primitiva o una matriz.

Hay dos categorías distintas de tipos: tipos primitivos y tipos de referencia:

  • Una variable de tipo primitivo siempre tiene un valor primitivo de ese mismo tipo. Tal valor solo se puede cambiar mediante operaciones de asignación en esa variable.
  • Una variable de tipo de referencia siempre contiene el valor de una referencia a un objeto. Todos los objetos, incluidas las matrices, admiten los métodos de la clase Object . Los tipos de referencia son tipos de clase (incluidos los tipos enum), tipos de interfaz y tipos de matriz.

Cada pieza de datos tiene un tipo que define su estructura, es decir, la cantidad de memoria que ocupa, cómo se presenta y, lo que es más importante, cómo puede interactuar con ella.

Ejemplos de tipos primitivos:

  1. int
  2. float
  3. char
  4. boolean

Ejemplos de tipos de clase:

  1. String
  2. Integer
  3. Boolean
  4. ArrayList
  5. StringBuilder

Ejemplos de tipos de interfaz:

  1. Collection
  2. List
  3. Map
  4. Serializable

Ejemplos de tipos de matriz:

  1. int[]
  2. String[]
  3. Integer[][][]

Básicamente, todo lo que puede referirse como una variable tiene un tipo, y las clases son como un tipo.

Más información aquí: http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html