![]() |
Java vergisst globale Variablen?
Ich übergebe an mein Java-Programm im Konstruktor Variablen, speichere diese global ab (beim System.out.println kennt er die Werte ja auch noch), aber bei der nächsten Verwendung (oder beim Aufruf von Außen) sind sie null!
Kann mir einer erklären, was hier los ist? Codeschnipsel: DB-Manager Code:
public class MyDataBaseManager { Code:
public class SQLclient extends javax.swing.JFrame { Code:
init: |
imho stimmt das nicht:
public MyDataBaseManager(String dbdriver, String jdbcurl){ System.out.println("1. Konstruktor: " + dbdriver + jdbcurl); new MyDataBaseManager("","", dbdriver, jdbcurl); } Du solltest nur den Zweitkonstruktor aufrufen, dh. des new macht keinen Sinn. Damit würdest du nämlich eine neue Klasseninstanz (die du keiner Variable zuweißt) erstellen. public MyDataBaseManager(String dbdriver, String jdbcurl){ System.out.println("1. Konstruktor: " + dbdriver + jdbcurl); MyDataBaseManager("","", dbdriver, jdbcurl); } Zum Testen kannst ja ansonsten auch mal die Klasse mit dem zweiten Konstruktor aufrufen. mfg Thomas |
Ok, erste Konstruktor eliminiert, damit funktionierts.
Verstehen tu ichs trotzdem nicht... Danke! |
Du hast im ersten Konstruktur eine weitere Insatz der Klasse erzeugt die nicht zugewiesen wird, deine ursprüngliche Klasse wurde aber nicht initialisiert.
|
Code:
|
danke, bin schon etwas vertrottelt!
das hat man von zu viel Sun Lernprogrammen... |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag