Overerving

Status
Niet open voor verdere reacties.

Clemens Schalkw

Gebruiker
Lid geworden
5 dec 2007
Berichten
166
Ik zit met een issue welke ik niet begrijp.
Hieronder mijn structuur:

core-system (map met GUI enz)
* klantA (map met alle classes voor deze klant)
- StaticValues.java
- mainClass.java

Nu zien mijn codes er (fictief) alsvolgt uit:

Code:
public class StaticValues {

  public static final String USER = "user";
  public static final String PASSWORD = "password";

  public static final String[] IPS = { "217.67.229.77" , "123.432.456.33" , "945.224.766.32" };
}


public class mainClass {

  // getValue is een method uit de event class welke een belaalde waarde ophaald
  protected String user = event.getValue(StaticValues.USER);
  protected String pw = event.getValue(StaticValues.PASSWORD);

  for (String ip : StaticValues.IPS) {
    if (ip.equals("217.67.229.77") {
     System.out.println("Joepie, het werkt");
   }
 }
}

De string user en de string pw worden gewoon gevuld, maar de array IPS wordt niet uitgelezen.

Als ik vervolgens een public static final String[] IPS in mainClass.java zet werkt het wel.
In eerste instantie dacht ik dat het binnen een andere scope zou vallen oid, maar dan zouden de andere constanten ook niet goed kunnen zijn.
Weet iemand waarom dit niet werkt?
 
Weet iemand waarom dit niet werkt?

Nee eigenlijk niet. Ik zou niet weten wat je er precies mee wilt, maar toen ik het compileerde, werkte het gewoon. (na fixen van wat haakjes en dingetjes)

Code:
public class mainClass {

	 // getValue is een method uit de event class
	 //welke een belaalde waarde ophaald
	 protected String user = StaticValues.USER;
	 protected String pw = StaticValues.PASSWORD;

	 public mainClass(){
		 for (String ip : StaticValues.IPS) {
			 if (ip.equals("217.67.229.77")) {
				 System.out.println("Joepie, het werkt");
			 }
		 }
	 }
	 
	 public static void main(String args[]){
		 new mainClass();
	 }
}

class StaticValues {
	  public static final String USER = "user";
	  public static final String PASSWORD = "password";
	  public static final String[] IPS = { 
		  "217.67.229.77" , 
		  "123.432.456.33" , 
		  "945.224.766.32" 
	  };
}
 
Laatst bewerkt:
Je fictieve code zou het wel moeten doen.. Dus ik denk dat fout ergens anders zit.

Je gebruikt wel event.getValue(StaticValues.PASSWORD); moet je mischien ook
event.getValue(StaticValues.IPS) gebruiken ??;

Zit StaticValues in andere lib en moet je deze lib mischien opnieuw compileren ??

Gebruik je mischien ergens "import static" en worden dus maar enkele velden geimporteerd ??

Meer kan ik zo snel niet verzinnen, als geen van 3-en hout snijdt, kan je mischien dan meer code posten..

gr.
 
Het blijkt in de onderliggende code te liggen.
Ik moet eerst een object maken van die StaticValues class en dan werkt het wel.
Bedankt voor de reakties.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan