Preparare la certificazione Java Programmer OCPJP7: package e tipi di dati

PACKAGE

  • I nomi dei package NON possono contenere delle keywords riservate di Java, ad esempio “do”
  • I nomi dei package possono contenere underscore, anche all’inizio o alla fine di un livello.
  • Esempi di nomi di package VALIDI:
    • org.p1.p2_
    • org.p1._p2
  • Lo statement package NON è obbligatorio. I files che non definiscono esplicitamente un package di appartenenza finiscono nel package di default.
  • Per importare un membro statico di una classe di utilizza un import statico nel seguente modo:
    • import static org.project.MyClass.MYVALUE
    • Attenzione all’ordine con cui compaiono “import” e “static

DATATYPE

  • NON si può fare una conversione implicita da un float, un double o un long in un int.
  • int i = 10L; int i = 10.0f; int i = 10.0; -> TUTTI ERRORI DI COMPILAZIONE
  • Number è una classe astratta e quindi non può essere instanziata.
  • Le sottoclassi concrete che ereditano da Number sono: AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, Float, Integer, Long, Short
  • Se si effettua un’operazione che prevede l’unboxing di una reference di un tipo wrapper che è valorizzato a null, si ottiene una NullPointerException.
  • Esempio:
  • Boolean b = null;
    System.out.println(b ? true : false);
    

    Scatena una NullPointerException

  • Se ad uno switch viene passato un oggetto null come elemento da valutare, si ottiene una NullPointerException
  • La classe AtomicInteger estende Number
  • Il package java.util.concurrent.atomic contiene anche le classi
    • AtomicBoolean e AtomicReference
    • AtomicBoolean NON eredita da Number
This entry was posted in $1$s. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *