Announcement

Collapse
No announcement yet.

wie kann ich auf mainvariable zugreifen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • wie kann ich auf mainvariable zugreifen?

    Hi,

    wie kann ich auf meine in die static main Klasse eingelesen Variablen in anderen zu dem Package gehörenden *.java Dateien zugreifen.

    z.b ich lese eine variable in

    package unbenannt1;
    ....
    //Main-Methode
    public static void main(String[] args) throws SQLException{

    try {
    if(args.length !=4){
    System.out.println("Usage: java " +
    "PeformanceWith " +
    "[ url database user passwd ]");

    //System.exit (0);
    } else{
    String URL = args[0] + args[1];
    //String DATABASE = args[1];
    String USER = args[2];
    String PW = args[3];
    ....
    ein

    und möchte in

    package unbenannt1;

    ...

    auf die Klassenvariable von main, url zugreifen

    ist das möglich???????

    kann jemand helfen?

    besten dank im voraus

    Gruß

    Steffen

  • #2
    Hallo Steffen!
    <br>

    Grundsaetzlich moeglich ist das schon, Attribute im Klassenkontext
    zu deklarieren. Diese sog. Klassenvariablen werden in
    Java mit dem Schluesselwort <code>static</code> eingelaeutet.
    <pre>
    public class MeineKlasse {
    public static String ueberallSichtbar = "aenderMich";
    }
    </pre>
    Auf die Klassenvariable <code>ueberallSichtbar</code> kannst Du aus
    jedem Package lesend und schreibend zufreifen, und zwar schreibend z.B. ueber den Ausdruck <code>MeineKlasse.ueberallSichtbar = "anders"</code>.
    Auf diese Weise kannst Du Deine Variable <code>url</code> auch aus
    <code>main</code> belegen. Soviel zum grundsaetzlich moeglichen.

    <br>
    Diese scheinbar globalen Variablen haben mit Objektortientierung
    natuerlich nichts zu tun und verschleiern die Kommunikation zwischen
    den interagierenden Komponenten des Softwaresystems. Es gibt nur wenige sinnvolle Einsatzgebiete fuer Klassenvariablen (z.B. Konstanten, Singleton-Pattern). Ich wuerde ueberdenken, die URL per Methodenaufruf als Parameter zu uebergeben.

    <br>
    Herzliche Gruesse aus D'dorf, <br>
    Stefa

    Comment

    Working...
    X