Newsgroup: it.comp.java
Titolo: Import Classi???

Ragazzi sto andando fuori di testa...
Ho due programmi.
Uno si chiama MiniQuiz.java e l'altro nella stessa directory si chiama 
Question.java
Ecco MiniQuiz.java
import java.util.Scanner;
public class MiniQuiz
{
    //-----------------------------------------------------------------
    //  Presents a short quiz.
    //-----------------------------------------------------------------
    public static void main (String[] args)
    {
       Question q1, q2;
       String possible;
       Scanner scan = new Scanner (System.in);
       q1 = new Question ("What is the capital of Jamaica?",
                          "Kingston");
       q1.setComplexity (4);
       q2 = new Question ("Which is worse, ignorance or apathy?",
                          "I don't know and I don't care");
       q2.setComplexity (10);
       System.out.print (q1.getQuestion());
       System.out.println (" (Level: " + q1.getComplexity() + ")");
       possible = scan.nextLine();
       if (q1.answerCorrect(possible))
          System.out.println ("Correct");
       else
          System.out.println ("No, the answer is " + q1.getAnswer());
       System.out.println();
       System.out.print (q2.getQuestion());
       System.out.println (" (Level: " + q2.getComplexity() + ")");
       possible = scan.nextLine();
       if (q2.answerCorrect(possible))
          System.out.println ("Correct");
       else
          System.out.println ("No, the answer is " + q2.getAnswer());
    }
}
------------------------------------------------------------------
Ecco il secondo:
public class Question implements Complexity
{
    private String question, answer;
    private int complexityLevel;
    //-----------------------------------------------------------------
    //  Constructor: Sets up the question with a default complexity.
    //-----------------------------------------------------------------
    public Question (String query, String result)
    {
       question = query;
       answer = result;
       complexityLevel = 1;
    }
    //-----------------------------------------------------------------
    //  Sets the complexity level for this question.
    //-----------------------------------------------------------------
    public void setComplexity (int level)
    {
       complexityLevel = level;
    }
    //-----------------------------------------------------------------
    //  Returns the complexity level for this question.
    //-----------------------------------------------------------------
    public int getComplexity()
    {
       return complexityLevel;
    }
    //-----------------------------------------------------------------
    //  Returns the question.
    //-----------------------------------------------------------------
    public String getQuestion()
    {
       return question;
    }
    //-----------------------------------------------------------------
    //  Returns the answer to this question.
    //-----------------------------------------------------------------
    public String getAnswer()
    {
       return answer;
    }
    //-----------------------------------------------------------------
    //  Returns true if the candidate answer matches the answer.
    //-----------------------------------------------------------------
    public boolean answerCorrect (String candidateAnswer)
    {
       return answer.equals(candidateAnswer);
    }
    //-----------------------------------------------------------------
    //  Returns this question (and its answer) as a string.
    //-----------------------------------------------------------------
    public String toString()
    {
       return question + "\n" + answer;
    }
}
-------------------------------------------------------------------
Mi spiegate come è possibile che nel primo programma (MiniQuiz.java) 
vengono istanziati oggetti Question del secondo programma(Question.java) 
senza che nel primo programma ci sia alcun collegamento con il secondo??
Insomma ho sempre creduto che per istanziare un oggetto presente in 
un'altro file java sarebbe stato obbligatorio fare un import <nome file 
in cui risiede la classe dell'oggetto da istanziare>
Mi potete spiegare??
Grazie!

 Mi potete spiegare??
Perché appartengono entrambe allo stesso package, quello di default. Tra 
due classi dello stesso package non è necessario l'import.
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

 pole
No, scusa devo essermi perso qualcosa durante lo studio dei package...
Il package di default intendi java.lang???
Potresti spiegarmi meglio come funziona??
Grazie mille!

 No, scusa devo essermi perso qualcosa durante lo studio dei package...
 > Il package di default intendi java.lang???
 > Potresti spiegarmi meglio come funziona??
 > Grazie mille!
Quando la classe non è specificamente dichiarata all'interno di un 
package, è considerata appartenente al package "unnamed" o default 
(java.lang non c'entra :-))
Qui puoi vedere una spiegazione:
http://java.sun.com/docs/books/tutorial/getStarted/applet/import.html
mentre qui è spiegato come usare i package:
http://java.sun.com/docs/books/tutorial/java/interpack/packages.html


 Potresti spiegarmi meglio come funziona??
Con tutta la stima, meglio ancora te lo spiegherà un testo.

 pole
Spiegami un'ultima cosa...
Xchè se cambio directory al secondo file (question.java), il programma 
che deve istanziare un oggetto dalla classe residente in question.java 
non parte più???