Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    31

    Condivisione classe tra 2 cartelle

    Ciao!!!

    io ho 2 cartelle (A e B) contenenti sorgenti java.
    Poi un altra cartella (C) che contiene le classi comuni alle cartelle A e B

    come faccio a far si che i sorgenti in A e B, interessati a alle classi contenute nella cartella C, possano "vedere" queste ultime?

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Condivisione classe tra 2 cartelle

    Originariamente inviato da Codek
    io ho 2 cartelle (A e B) contenenti sorgenti java.
    Poi un altra cartella (C) che contiene le classi comuni alle cartelle A e B

    come faccio a far si che i sorgenti in A e B, interessati a alle classi contenute nella cartella C, possano "vedere" queste ultime?
    Innanzitutto parli solo e banalmente di "cartelle" ma in Java contano i "package" (e la regola è che i nomi dei package si devono "riflettere" nella struttura delle cartelle).

    Quindi ammesso che hai strutturato le classi in package e che le classi "comuni" siano marcate public, in altri package ti basta importare ciò che ti serve con un import-on-demand (es. import pippo.*; ) o con un single-type-import (es. import pippo.UnaClasse; )

    P.S. Puoi anche non fare l'import .... ma dovresti scrivere sempre i nomi completamente qualificati .... ed è scomodo/brutto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    31
    ok ho provato,
    se metto il package C dentro A, e nel sorgente di A scrivo "import C.*;" funziona

    ma A, B e C sono tutti allo stesso livello, come faccio ad importare C da A?
    cioè "import (cartella padre)/C.*"

    grazie

    (ps.: non ho marcato le classi con package NomePkg; , perchè con textpad non funziona)

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Codek
    ok ho provato,
    se metto il package C dentro A, e nel sorgente di A scrivo "import C.*;" funziona

    ma A, B e C sono tutti allo stesso livello, come faccio ad importare C da A?
    cioè "import (cartella padre)/C.*"
    No no no. Alt, prima di fare confusione:


    ....\directory_base\pkgA\Uno.java
    codice:
    package pkgA;
    
    import pkgC.*;
    
    public class Uno {
        ....
    }
    ....\directory_base\pkgC\Altro.java
    codice:
    package pkgC;
    
    public class Altro {
        ....
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    31
    adesso ho capito, grazie

    ma mi sa che il textpad non capisce perchè già marcando le classi di una stessa cartella con "package <nome-cartella>" e mettendo anche il "public class"
    ogni classe non riesce a "vedere" le altre

    perche in fase di compilazione mi dice che non le conosce

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.