Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Tipi incompatibili sono stati trovati in Java

Nei programmi Java , tutte le variabili sono dati un tipo specifico e immutabile al momento del primo dichiarati . Quindi , se si crea una variabile intera chiamata " numApples , " non si può cambiare la variabile di una doppia o una stringa come il programma è in esecuzione . Questa qualità rende Java un linguaggio " fortemente tipizzato " e gli permette di prendere un certo numero di potenziali problemi , come il programma viene compilato invece mentre il programma è in esecuzione. Uno dei potenziali problemi è un'operazione che utilizza tipi incompatibili . Causa

Ci sono diversi bug differenti che possono causare Java per gettare un errore tipi incompatibili durante la compilazione del programma . Nella errore più semplice , potrebbe essere tentato di assegnare un tipo incompatibile a una variabile. Per esempio, se avete creato una variabile intera , non è possibile assegnare il valore di 1,3 ad esso. Si può avere anche tentato di passare una variabile illegale in un metodo , un metodo che accetta solo un array di stringhe come argomento non può accettare una singola stringa . Questo problema può essere causato anche utilizzando una sintassi non corretta su un confronto booleano . Se si tenta di verificare se i numApples intero è uguale a 1 ( numApples == 1) , ma si omette un segno di uguale , verrà invece dite che numApples è uguale a 1 ( numApples = 1) . La prima istruzione restituisce un tipo booleano , mentre la seconda restituisce un tipo intero . Se si inserisce la seconda affermazione in una funzione in cui un tipo booleano è necessario, il programma genererà un errore di tipo incompatibile .
Casting

Se è necessario passare un variabile a un metodo che non supporta quel particolare tipo di variabile , si può essere in grado di lanciare in un altro tipo . Ad esempio , se un metodo supporta solo numeri interi , ma si desidera passare una doppia , è possibile convertire provvisoriamente il doppio di un numero intero con l'aggiunta di " (int ) " di fronte alla doppia variabile , come si passa nel metodo . Casting non modificherà la variabile memorizzata ma può alterare il valore che viene gettato . Casting un doppio che è equivalente a 3,2 per un numero intero restituirà l' intero 3 .
Overloading

Se è necessario passare diversi tipi di variabili al stesso metodo , è possibile creare un metodo di overload . Metodi di overload sono duplicati di un metodo che ha lo stesso nome , ma accettano argomenti diversi . Ad esempio, è possibile creare due versioni di un metodo Add nella stessa classe , quella che accetta due valori matrimoniali e un altro che accetta due valori float . Se si chiama aggiungere e passarlo due valori decimali , il programma eseguirà automaticamente il metodo specificato per valori decimali .
Inheritance

Quando si lavora con tipi avanzati , è possibile evitare errori di tipi incompatibili impostando un metodo per accettare il genitore di qualsiasi tipo che si desidera passare in esso. Ad esempio , se è stato creato un metodo per calcolare la metratura di un edificio , è necessario impostarlo per accettare un edificio come argomento :

doppia calculateSquareFootage ( ingresso edificio ) per

È quindi possibile passare in qualsiasi tipo di dati che eredita il tipo di dati dell'edificio , come ad esempio una scuola , la prigione o il tipo di dati ospedale .

 

Programmazione © www.354353.com