Anteprima
Vedrai una selezione di 3 pagine su 6
Package e visibilità in Java Pag. 1 Package e visibilità in Java Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Package e visibilità in Java Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Devo stare attento ai nomi che scelgo perchè

· potrei scegliere un nome ambiguo con cui

intendere qualcosa e qualcun altro potrebbe

scegleire lo stesso nome per intendere

qualcos'altro, allora avrei creato un conflitto a

livello semantico, per questo si usa il dominio che

in questo caso è unipv.it, allora si inverte la

lettura e i package iniziamo con IT.unipv.iii.

Immaginiamo di importare due package che mi

· creano conflitto, ad esempio importo il package

unipv e polimi, allora se entrambi contengono

studenti il mio compilatore se ne accorge e dice

che c'è un conflitto, allora o togliamo l'import

oppure usiamo il nome esteso per risolvere il

problema

Per riferirsi ad una classe appartenente ad un

· package è possibile:

riferirsi ad essa con il nome completo;

· aaa.bbb.graphics.Rectangle r = new

aaa.bbb.graphics.Rectangle();

importare la classe;

· import aaa.bbb.graphics.Rectangle;

importare l’intero package

· import aaa.bbb.graphics.*;

alcuni package standard:

· java.lang: classi base del linguaggio: Object,

· System, String, Math …

java.io: classi di I/O: FileInputStream,

· FileOutputStream

java.util: classi di utilità: Date, Random,

· ArrayList,

java.net: classi di supporto alle applicazioni

· di rete: socket, URL, …

java.applet: classe Applet, …

· java.text: classi per la formattazione di

· numeri, date, ecc: NumberFormat,

DecimalFormat, DateFormat…

java.awt: Abstract Windowing Toolkit, classi

· per la rappresentazioni di elementi di

interfaccia grafica

Visibilità

Tutto ciò che dichiaro dentro due parentesi graffe

· (anche nel caso di una if) rimane utilizzabile lì

dentro (si parla di body) e fuori, tale variabile non

potrà essere utilizzata

esempio:

if (condizione){

int i=5;

}

i++;

Questo codice mi darebbe errore poichè la

variabile i è definita solo dentro il body quindi non

può essere usata fuori

Classi e interfacce sono visibili all’interno del

· package in cui sono dichiarate, sono visibili

all’esterno del package solo se dichiarate public

Variabili e metodi sono visibili quando la loro

· classe è visibile

Sono visibili quando il loro modificatore li rende

· visibili

Progettando una classe dobbiamo pensare a due

· tipi di utenti:

Chi utilizzerà la classe per realizzare delle

· applicazioni

Questi useranno i membri public

Quelli che estenderanno la classe per

· realizzare delle sottoclassi

Questi useranno anche i protected

Andremo quindi ad assegnare public e protected

in base a ciò che ci interessa

Dichiarare una classe public final o final public è

· la stessa cosa, analogamente per protected static

o static protected

Static:

· Si applica a una classe, non a una sua

· istanza

Un membro statico viene allocato quando la

· classe viene caricata, l’inizializzazione

avviene anche al momento del caricamento

della classe.

2 modi per referenziare una variabile statica:

· Mediante una reference a qualsiasi

· istanza della classe (non buono)

Mediante il nome della classe (migliore)

·

Anche i metodi possono essere static

· Non esiste alcuna garanzia che esista

· una istanza della classe quando il

metodo static viene invocato, potrebbe

essere invocato prima che la classe in

cui è presente venga istanziata, tipo il

metodo main

I metodi non statici hanno una variabile

· implicita denominata this,che è un

riferimento all'oggetto che esegue il

metodo. Con i metodi statici, non c'è

questo.

Un metodo statico non può essere

· sovrascritto per essere non-statico. Può

essere sovrascritto per essere un altro

metodo statico.

I metodi statici non possono usare

· variabili non statiche o metodi non

statici della propria classe

Se un metodo statico deve accedere a

· una variabile non statica o chiamare a

metodo non statico, deve specificare

quale istanza della sua classe possiede

la variabile o il metodo.

Dettagli
Publisher
A.A. 2023-2024
6 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ab502 di informazioni apprese con la frequenza delle lezioni di Programmazione a oggetti e ingegneria del software e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Antonino Nocera.