2009-06-09 24 views

risposta

1

Per distinguerli dai tipi di dati dell'oggetto.

18

Perché Java ha più tipi di dati che solo primitives. I tipi di dati primitivi sono:

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

Un tipo di dati che è un non-primitivo è un tipo di dati di riferimento, che sono riferimenti a objects.

Alcuni esempi sono:

  • String
  • Integer
  • ArrayList
  • Random
  • JFrame

Ecco un semplice esempio di th e differenza tra i due tipi:

int i1 = 10; 
Integer i2 = Integer.valueOf(10); 

int i1 è una variabile del tipo di dati primitivo int, con il int valore di base 10.

Integer i2 è una variabile con un tipo di dati di riferimento di Integer, referenziare un oggetto Integer che contiene il valore 10.

+1

Naturalmente, è possibile eseguire: Numero intero i2 = 10; – Joshua

+3

@Joshua: vero, ma questo è dovuto al fatto che l'autoboxing entra in gioco. Dietro le copertine c'è una conversione tra una primitiva e la sua classe wrapper. – coobird

+0

E, ovviamente: * Oggetto –

1

Perché reference types può anche essere considerato tipi di dati. I primitivi sono considerati tipi di valore. Entrambi possono essere considerati un tipo di dati.

2

Perché in Java esistono due categorie di tipi.

Dal Java Language Specification, CHAPTER 4: Types, Values, and Variables:

I tipi di linguaggio di programmazione Java sono divisi in due categorie: i tipi primitivi e tipi di riferimento. I tipi primitivi (§4.2) sono il tipo boolean ei tipi numerici.I tipi numerici sono i tipi interi byte, short, int, long e char e i tipi a virgola mobile float e double. I tipi di riferimento (§4.3) sono tipi di classe, tipi di interfaccia e tipi di array. C'è anche un tipo speciale Null. Un oggetto (§4.3.1) è un'istanza creata in modo dinamico di un tipo di classe o di un array creato dinamicamente. I valori di un tipo di riferimento sono riferimenti a oggetti. Tutti gli oggetti, inclusi gli array, supportano i metodi della classe Object (§4.3.2). I valori letterali delle stringhe sono rappresentati dagli oggetti String (§4.3.3).
13

alt text

0

tipi primitivi non sono chiamati tipi di riferimento java e hanno il nome che inizia con la lettera maiuscola. Es .: Integer, Float ecc. Per i non primitivi possiamo creare le istanze.

1

Per capire perché, penso che sia necessario guardare linguaggi di programmazione diversi da Java. Ad esempio:

  • In C++ esistono, tipi primitivi dati (int, double, ecc), i tipi di dati costruito (struct, ecc) e tipi oggetto/riferimento.

  • In Ada sono presenti tipi di dati primitivi e altri tipi di dati derivati ​​dai tipi primitivi; per esempio. tipi di gamma.

Quindi, la mia comprensione è che i tipi di dati Java sono descritti come "tipi di dati primitivi" per inserirli nel contesto di altre lingue. Sono "tipi di dati" nel senso che non hanno identità di oggetto e sono "primitivi" nel senso che i tipi specifici sono definiti da (e fondamentale per) il linguaggio Java.

1

Anche gli oggetti sono variabili, quindi il termine "primitivo" viene utilizzato per distinguere questi tipi.

Problemi correlati