Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    67

    Problema metodi statici in classi diverse

    Ciao sto facendo pratica con java. Ho realizzato un programma per capire se ho ben compreso il discorso dei metodi statici. Inizialmente ne ho fatto uno con metodi statici definiti in una stessa classe ed è andato a buon fine. Adesso ne ho creato un altro simile però creando metodi statici in 2 classi diverse della stessa libreria.
    codice:
    import javax.swing.JOptionPane;
    public class Saluti {
    public static void stampaSaluto() {
    System.out.println("Buongiorno!");
     }
    
    
    public static void stampaSalutoPersonale(String nome,
                                             String cogn) {
    System.out.println("Buongiorno"); 
    System.out.println(nome);
    System.out.println(" ");
    System.out.println(cogn);
    
    }
    
    public static void stampaSalutoInformale(String nome) {
    System.out.println("Ciao " + nome);
    
    }
    
    
    public static String salutoPersonale(String nome,
                                         String cogn) {
    return "Buongiorno " + nome + " " + cogn + "!";
     
     }
    }
    
    import javax.swing.JOptionPane;
    
    public class Cliente {
    public static void main(String[] args) {
    Saluti.stampaSaluto();
    String n = JOptionPane.showInputDialog("Nome");
    String c = JOptionPane.showInputDialog("Cognome");
    Saluti.stampaSalutoPersonale(n,c);
    Saluti.stampaSalutoInformale(n);
    JOptionPane.showMessageDialog(null,Saluti.salutoPersonale(n,c));
    System.exit(0);
     }
    }



    Il programma è semplicissimo, si basa sui saluti e finestre di input e di messaggio con JOptionPane della classe javax.swing.JOptionPane;
    Il problema è dopo aver chiuso una classe con tutti i suoi metodi, quando apro la seconda classe dove definisco altri metodi che invocano i metodi utilizzati nella prima classe per farli lavorare insieme, se non re-importo la libreria prima di definire la nuova classe mi da tantissimi errori.
    Importandola due volte mi da cmq un solo errore relativo alla prima lettera di "import". Qualcuno sa consigliarmi come risolvere il problema e far avvenire la compilazione correttamente?
    Ultima modifica di FDLx; 17-01-2015 a 16:27

  2. #2
    Semplice non puoi definire 2 classi per giunta dichiarate come public nello stesso file. Per risolvere hai 2 possibilità
    1) crei un nuovo file es: Cliente.java
    2) fai diventare la seconda classe un inner class della prima classe, ovviamente in questo caso devi toglier il modificatore public.

    Nel primo caso se la seconda classe la dichiari nello stesso package della prima non avrai bisogno di effettuare l'import della prima classe, viceversa dovrai aggiungere un import anche a questa, insieme ovviamente agli import di cui quella classe ha bisogno.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    67
    Avrò due file diversi del programma però, Saluti.java e Cliente.java avviando uno dei due nel programma, i metodi statici di entrambe le classi agiscono insieme anche se salvati su due file separati?

  4. #4
    Ovvio che funzioneranno. Mi ripeto in java non si possono definire più classi pubbliche nello stesso file quindi ciò vuol dire che la metodologia di progrommazione è questa.

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.