Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
4 Cards in this Set
- Front
- Back
- 3rd side (hint)
Source File Declaration Rules
Cap 01 - Pag 49 |
Un file sorgente contiene:
- UNA SOLA classe dichiarate "public" per file sorgente - UNA o PIU' classi non dichiarate "public" - Nome del file sorgente uguale al nome della classe "public", (Es. Pippo.java per la classe Pippo) - Nome del file sorgente libero se non ci sono classi "public" - Commenti all' inizio o alla fine di una linea di codice, posizionamento libero Statement Ordering nel file sorgente: 1) (eventuale) statement "package" 2) (eventuali) statements "import" 3) Class declaration - gli statement "import" e "package" si applicano a TUTTE le classi contenute nel file sorgente - Packages nominati con "reverse domain name convention" |
|
|
Modifiers
Cap 01 - Pag 50 |
Ogni classe, metodo e istanza è associata a 4 Access Control mediante 3 Access Modifiers (+ un default se non si esplicita l' Access Modifier)
Default Access Control: - default/package AM - Access Modifiers: - "public" - "protected" - "private" NAM - Non Access Modifiers: es. : strictfp, final, and abstract |
|
|
Class Declaration and Access
Cap 01 - Pag 51 |
Default Class Declaration:
[AM] [*NAM] class MyClass() { } AM: - "public", accesso/visibilità da TUTTE le classi di TUTTI i packages - default/package, nessun AM nella Class Declaration, accesso/visibilita SOLO dalle classi nello STESSO package NAM: -"abstract", la classe NON PUO' essere istanziata, ma solo estesa -"final", NESSUNA altra classe può estendere la classe e fare override dei metodi -"strictfp" Class Access (o Visibility): - Una classe A può creare un istanza di una classe B - Una classe A può estendere una classe B - Una classe A può accedere a metodi e variabili di una classe B (in base ai relativi AM) N.B. - [AM] abstract final myClass() { } NON compila - Abstract Method Signature example: public abstract void goFast(); - public abstract void goFast() {}; NON compila - Una classe astratta può contenere metodi non astratti, ma NON viceversa |
NAM "strictfp" :
Marking a class (or method) as strictfp means that any method code in the class (code in the method) will conform to the IEEE 754 standard rules for floating points. |
|
Declaring an Interface
Cap 01 - Pag 57 |
- Implementate da QUALSIASI classe in QUALSIASI ramo ereditario.
- Sono equivalenti al 100% ad una Classe Astratta con tutti e soli i metodi astratti. - Un interfaccia può estendere SOLO altre interfacce, ma NON PUO' implementare altre interfacce - I metodi sono implicitamente "public abstract" es: void bounce(); equivale a public abstract void bounce(); - i metodi quindi NON possono essere firmati con "static", "final", "private", "protected", "native", "strictfp" - In un interfaccia Si possono dichiarare SOLO costanti - Le costanti sono implicitamente,"public static final" es: int BAR = 42; equivale a public static final int BAR = 42; |
When you create an interface, you're defining a contract for what a class can do,
without saying anything about how the class will do it. An interface is a contract. |