Visualizzazione dei risultati da 1 a 2 su 2

Discussione: implements java

  1. #1

    implements java

    Salve vi espongo questa domanda riguardo al capitolo delle interfacce:

    public class Counter implements Comparable {
    ...
    public int compareTo(Object x) {
    Counter otherCounter = (Counter)x;

    // perchè (Counter)x è tra parentesi? cosa vuol dire?

    if (val < otherCounter.val) return -1;
    if (val > otherCounter.val) return +1;
    /* else */ return 0;
    }
    }

    quella riga non è un costruttore perchè manca il new, e allora che cosa vuol dire?
    -- utente Kubuntu --

  2. #2
    Quella scrittura indica l'operazione di Cast.
    Cioè si cambia il tipo relativo a quell'oggetto e quest'operazione è permessa solo se l'oggetto era di quel tipo.
    Esempio.

    Casa c=new Casa();
    c'è un metodo che accetta solo Object come parametro e in quanto ogni oggetto che noi creiamo deriva da Object va bene . però quando andiamo a leggere il parametro verrà passato come Object e quindi noi dobbiamo riportarlo allo stato precedente per utilizzarlo e qui entra in gioco il cast.

    void copia(Object x){
    Casa k=(Casa)x;
    }

    Se x non fosse stato un oggetto Casa avremmo avuto un ClassCastException.

    Altrimenti , se non eseguissimo il cast , non potremmo utilizzare i metodi dell'oggetto Casa.
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.