hiho, hab ein grosses prob... mach grad eprog 4. runde und hab ein package mit 4 klassen darin, dummerweise kann ich innerhalb des packages weder vererben noch sonst irgendwas zwischen den klassen machen?! er schreibt grundsaetzlich "cannot resolve symbol" egal was ich mach... obs nun "extends" ist oder einfach nur auf ne andere public-class zugreifen... nix geht :hewa:
weiss jemand ne loesung?!
package + vererbung (bzw global var)
-
-
hmm.. .versuch mal deine variablen public static zu definieren
-
classpath mit -classpath $PATH beim uebersetzen angeben;
-
hm... scheint sich schon erledigt zu haben, hab den fehler gefunden bei mir... konstruktoren sollt man auch richtig einsetzen! *gg*
-
ARGHL
wenn die dateien net im unterverzeichnis sind und nicht als package deklariert laesst sich alles wunderbar compilieren... sobald ich package Morsen; schreib funkts nimma...
Main laesst sich compilieren, also ins package reingehen tut er brav, nur drinnen kann er nur auf 1 klasse zugreifen, aber net auf weitere?! und vererben kann ich innerhalb des packages auch nix... ich kapier es nicht. ich aender doch nix am code... und rein theoretisch muesste es doch egal sein ob sich die klassen im defaultpackage oder einem extra deklarierten package befinden?! -
hmm..
nicht bös sein.. sind nur vermutungen..importierst du dein package ins main?
wenn du ein package erstellst .. liegt dieses dann in einem gleichnamigen ordner?
zb package mypackage + file myfilein deinem ordner müsstest du haben
Main.java
mypackage <<-- Ordnerim ordner mypackage müsste nun dein myfile liegen..
---
2. vorschlag.. versuchs mit get und set methoden um auf deine variablen zu zugreifenzb.
PHP
Alles anzeigen//kapaznet.java package kapaz; public class kapaznet { private int varcount; private float varValue; public kapaznet() { varcount = 0; varValue = 0; } public kapaznet(String s) { setString(s); } // getValue() liefert den Wert der Kapazität des Netzwerkes public float getValue() { return varValue; } // getValue() // getCount() Anzahl der Kondensatoren des Netzwerkes (bei 0: ungültig) public int getCount() { return varcount; } // getCount() }
PHP
Alles anzeigen//Main.java import eprog.*; import kapaz.*; public class Main extends EprogIO { public static void main(String[] args) { kapaznet aNet = new kapaznet(readWord()); if ((aNet.getCount() > 0) && (aNet.getCount() <= 15)) { println(Math.round(aNet.getValue())); } else // if (getCount()) { println("FALSCHE EINGABE"); }; // if (getCount()) } }
-
@usr/bin/perl: wieso muss ich den classpath extra angeben?!
der normale classpath is eh gesetzt und ich kann ja auch 1 klasse im package kompilieren... zumindest scheint es so... (keine fehlermeldung) nur kann diese klasse nicht auf die anderen in dem package zugreifen...
ausgeben tut er auch nix... =( -
ausserdem hab ich ein proggi von nem anderen studi, der nur 1 klasse im package hat und das compiliert textpad ohne probs...
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!