Java Programm mit mehreren Datein



  • Hallo,

    ich habe immer mein ganzen Code in eine Java Datei geschrieben. Nun habe ich erfahren das man das nicht machen soll sondern eine Klasse in eine Datei.

    Ein Beispiel:

    import testx.*;
    
    public class test
    {
        public static void main(String[] args) {
            test3 t = new test3();
        }
    }
    
    ------------------------------------------------------------------------------------------------------------
    package testx;
    import java.awt.*;
    
    public class test2
    extends Frame
    
    {
        public test2() {
            super("juhasdf");
            System.out.println("Test2");
    
            setBounds(100,100,200,200);
            setVisible(true);
        }
    }
    
    ------------------------------------------------------------------------------------------------------------
    package testx;
    import java.awt.*;
    
    public class test3
    extends Frame
    
    {
        public test3() {
            super("TEst3");
            System.out.println("Test3");
    
            setBounds(100,100,200,200);
            setVisible(true);
        }
    }
    

    Das ist ein Kleines Demo Programm das in 3 Dateien ist. Dumm finde ich nur das test2 und test3 in einem Unterverzeichnis namens testx machen muss.

    Ist das so richtig oder habe ich was falsch verstanden?
    Warum muss ich trotzdem 2 mal import.java.awt.*; machen? Wenn doch die Eine Datei das schon gemacht hat warum muss ich das doppelt machen?

    Ich glaube ich habe noch ein paar Verständigungsprobleme mit den package.

    Währe gut wenn mir jemand die Fragen beantworten kann.

    Danke



  • Das ist ein Kleines Demo Programm das in 3 Dateien ist. Dumm finde ich nur das test2 und test3 in einem Unterverzeichnis namens testx machen muss.

    Brauchst du nicht unbedingt. Wenn du deine Klasse nicht durch
    package testx;
    diesem Package zuordnest. Was ich aber abraten würde.

    Grundsätzlich sollen die Packete dafür sorgen das es keine
    Namenskonflikte gibt. Sprich du ruhigen Gewissens eine
    Date Klasse schreiben kannst die durch den aufruf von
    testx date = new testx.Date();
    instanzieren koenntest. Das die Dateien in ein verzeichniss
    mit dem Namen des Packages gelegt werden macht eigentlich
    auch Sinn, da so gewährleistet ist das es hier keine Namenskonflikte
    zwischen den Dateien gibt.


Anmelden zum Antworten