Il linguaggio Java. Concetti base. I packages



Похожие документы
Controllo degli accessi

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Panoramica: che cosa è necessario

Appunti di Informatica 1

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Scope e visibilità per classi

Programmazione ad Oggetti. Java Parte I

Strumenti per la programmazione

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2

Oggetti Lezione 3. aspetti generali e definizione di classi I

Getting Started. Walter Cazzola. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano

Programmazione Orientata agli Oggetti in Linguaggio Java

Scrivere un programma in Java

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Il web server Apache Lezione n. 3. Introduzione

Il tuo manuale d'uso. LEXMARK X502N

Java: Compilatore e Interprete

SOMMARIO DIAGRAMMI DEI PACKAGE

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Programmare in Java. Olga Scotti

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Lezione 10: Librerie e compilazione separata

Il Sistema Operativo: il File System

Dichiarazioni di import: Introduzione

Tale attività non è descritta in questa dispensa

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Primi programmi in Java. Lezione IV

Ambienti di Sviluppo

Hub-PA Versione Manuale utente

Le command line di Java

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Capitolo 3: Strutture dei sistemi operativi

Parola chiave extends

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Licenza per sito Manuale dell amministratore

Java Virtual Machine

SharePoints è attualmente disponibile in Inglese, Italiano e Francese.

Il Software. Il software del PC. Il BIOS

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Ingegneria del Software 1: Eclipse

Programmazione ad oggetti

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Approccio stratificato

Introduzione alla programmazione in Java

Geolocalizzatore batch di indirizzi. Manuale utente

Intel One Boot Flash Update Utility Guida dell utente

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

MODULO STAMPA BOLLETTINO PDF

Installazione del software Fiery per Windows e Macintosh

Eclipse. Avviare un progetto e compilare un semplice programma

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

GESTIONE DEL DEPOSITO

Politica del WHOIS relativa al nome a dominio.eu

Access. P a r t e p r i m a

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Protezione. Protezione. Protezione. Obiettivi della protezione

Struttura di un programma Java

File system II. Sistemi Operativi Lez. 20

Il sistema C.R.M. / E.R.M.

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Università degli Studi di Verona. Laboratorio di Basi di Dati

Esercitazione 4 JDBC

Product Shipping Cost Guida d'installazione ed Utilizzo

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

DATABASE. A cura di Massimiliano Buschi

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

FAQ TeamPortal - DVD DEMO

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Guida al sistema. Dott. Enea Belloni

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

MANUALE PORTALE UTENTE IMPRENDITORE

Modello per la compilazione della scheda progetto SK_3.1.xls (da utilizzarsi per la presentazione di progetti di attività formative)

Esercitazione n 4. Obiettivi

CERTIFICATI DIGITALI. Manuale Utente

FPf per Windows 3.1. Guida all uso

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows

Omnia Web Timesheet. Manuale utente

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

Il Sistema Operativo (1)

PRODUZIONE PAGELLE IN FORMATO PDF

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

HORIZON SQL MENU' FILE

Транскрипт:

Il linguaggio Java I packages Concetti base Un package è una collezione di classi ed interfacce correlate che fornisce uno spazio dei nomi ed un controllo sugli accessi Un package facilita il reperimento e l utilizzo delle classi/interfacce evita conflitti sui nomi controlla l accesso alle classi/interfacce TIGA 2

Il package Un package è una collezione di classi correlate Il package java.lang contiene le classi fondamentali del linguaggio Il package java.util contiene classi di utilità Il package java.io contiene le classi relative all I/O Il package java.net contiene le classi relative alla rete Il package mio.tesi contiene le classi relative alla mia tesi TIGA 3 Nome di un package Il nome di un package deve essere univoco it.unipi.iet.dini I package permettono di definire nomi unici per le classi it.unipi.iet.dini.didattica.miaclasse it.unipi.iet.dini.ricerca.miaclasse TIGA 4

Utilizzo delle classi nei package (1) Una classe può utilizzare tutte le classi del suo package e tutte le classi public di un altro package La classe di un package può essere specificata attraverso il suo nome qualificato java.util.date today = new java.util.date(); La classe di un package può essere importata import java.util.date; Date today = new Date(); TIGA 5 Utilizzo delle classi nei package (2) Un intero package può essere importato import java.util.*; Date today = new Date(); Il package java.lang è importato di default TIGA 6

Collisione tra i nomi La classe Date è contenuta nei package java.util e java.sql import java.util.*; import java.sql.*; Date today; // compile-time error Si deve fare uso del nome qualificato import java.util.*; import java.sql.*; java.util.date today; TIGA 7 Collisione tra i nomi oppure si importa una classe specifica import java.util.*; import java.sql.*; import java.util.date; Date today; // quella di java.util TIGA 8

Aggiungere una classe ad un package La parola chiave package consente di aggiungere una classe ad un package package it.unipi.iet.dini; public class MiaClasse {{ // // corpo MiaClasse.java Il file MiaClasse.java deve essere posto nella directory it/unipi/iet/dini A partire da quale radice? Lo vediamo più avanti TIGA 9 Il package di default Se non si inserisce lo statement package in un file sorgente, le sue classi sono inserite automaticamente nel package di default Il package di default non ha nome TIGA 10

Esempio com/foo/bar/ abc/ A.java A.class xyz/ B.java B.class import com.foo.bar.xyz.b; package com.foo.bar.abc.a public class class A {{ // // B b = new new B(); B(); // // > javac javaccom/foo/bar/abc/a.java > java java com.foo.bar.abc.a > cd cdcom/foo/bar/abc > javac javaca.java > java java A oppure package com.foo.bar.xyz; public class class B {{ // // corpo corpodi di B TIGA 11 Percorso delle classi Il percorso delle classi (class path) è una collezione di directory a partire dalle quali l interprete cerca le classi L opzione classpath e la variabile di ambiente CLASSPATH permettono di specificare il percorso delle classi TIGA 12

Percorso delle classi Unix javac classpath /home/classes:.:/home/archives Windows javac classpath \home\classes;.;\home\archives Unix/Linux, C shell (csh;.cshrc) setenv CLASSPATH /home/classes:.:/home/archives Unix/Linux, Bourne again shell (bash;.bashrc) export CLASSPATH=/home/classes:.:/home/archives Windows NT/2000/XP Avvio Impostazioni - Pannello di controllo - Sistema Variabili d ambiente TIGA 13 Percorso delle classi (II) Dov è che l interprete va a cercare com.foo.bar.xyz.b.class? Per prima cosa prova tra i class file di sistema contenuti in jre/lib e jre/lib/ext. Poi, prova in sequenza le directory specificate nel class path /home/classes/com/foo/bar/xyz./com/foo/bar/xyz /home/archives/com/foo/bar/xyz Se non lo trova produce un errore TIGA 14

Reperimento delle classi Il compilatore reperisce le classi contenute in un package e specificate con import e le compila (se necessario) Il compilatore non verifica che la directory in cui si trova effettivamente una classe sia consistente con (il nome de) il package di cui fa parte Nel bytecode, per il riferimento a classi si usano sempre i nomi completi di tali package TIGA 15 Reperimento delle classi Il reperimento delle classi è più complesso per il compilatore che per JVM Nel caso peggiore compilatore deve cercare una classe in tutti i package ed in tutti i percorsi specificati dal class path Esempio il sorgente contiene import java.util.*; import it.unipi.iet.dini.tiga.*; e riferisce la classe Employee (continua) TIGA 16

Reperimento delle classi Esempio nel caso peggiore, il compilatore cerca java.lang.employee java.util.employee it.unipi.iet.dini.tiga.employee nel package corrente ed in tutte le locazioni specificate dal class path TIGA 17 Accesso alle classi package package miopackage; public public class class A {{ B b = new new B(); B(); class class B {{...... unità di compilazione package package miopackage; public public class class C {{ B b = new new B(); B(); class class D {{ C c c = new new C(); C(); A.class B.class D.class C.class miopackage TIGA 18

Accesso alle classi Accesso pubblico. Il modificatore di accesso public specifica che la classe è accessibile da qualunque parte del programma Accesso a livello di package. L assenza del modificatore di accesso public specifica che la classe è accessibile solo all interno del package In questo caso è buona norma definire private i campi membro dare alle funzioni membro l accessibilità a livello di package Non è possibile dichiarare private o protected una classe TIGA 19