ffseriespower Δημοσ. 22 Ιουλίου 2011 Δημοσ. 22 Ιουλίου 2011 Έχω μία κλάση όπου μέσα έχω βάλει τρεις κλάσεις ως εξής κλαση 1 extends applet implements runnable{} κλαση 2 extends Thread{} κλάση 3 extends Thread{} Το πρόβλημα μου είναι το εξής. Δημιουργώ ένα αντικείμενο της κλάσης δύο και το χρησιμοποιώ για να του αλλάξω μια εσωτερική του μεταβλητή κάθε φορά που θα πατάω ένα κουμπί. Όμως δεν με αφήνει να χρησιμοποιήσω αυτήν την μεταβλητή στην κλάση 3. Δηλαδή να πατάω το κουμπί να αλλάζει η μεταβλητή της κλάσης δύο και παράλληλα να μπορώ να εκμεταλευτώ αυτήν την αλλαγή στην κλάση 3. Μου βγάζει variable not found στο bluej. Ευχαριστώ.
defacer Δημοσ. 22 Ιουλίου 2011 Δημοσ. 22 Ιουλίου 2011 Το γεγονός ότι οι classes 2 και 3 ορίζονται μέσα στην ίδια class (αν κατάλαβα τι λες) δεν έχει καμία σημασία. Διάβασε ένα βιβλίο για Java, γιατί η ερώτηση που κάνεις δείχνει ότι πιθανόν να μη γνωρίζεις απολύτως βασικά πράγματα.
vicky5 Δημοσ. 22 Ιουλίου 2011 Δημοσ. 22 Ιουλίου 2011 Έχω μία κλάση όπου μέσα έχω βάλει τρεις κλάσεις ως εξής κλαση 1 extends applet implements runnable{} κλαση 2 extends Thread{} κλάση 3 extends Thread{} Το πρόβλημα μου είναι το εξής. Δημιουργώ ένα αντικείμενο της κλάσης δύο και το χρησιμοποιώ για να του αλλάξω μια εσωτερική του μεταβλητή κάθε φορά που θα πατάω ένα κουμπί. Όμως δεν με αφήνει να χρησιμοποιήσω αυτήν την μεταβλητή στην κλάση 3. Δηλαδή να πατάω το κουμπί να αλλάζει η μεταβλητή της κλάσης δύο και παράλληλα να μπορώ να εκμεταλευτώ αυτήν την αλλαγή στην κλάση 3. Μου βγάζει variable not found στο bluej. Ευχαριστώ. Εχεις μπερδεψει κατι...Αυτο που εχεις κανει εδω οπως το λες ειναι να εχεις δημιουργησει 3 κλασεις σε ενα αρχειο..ειναι ομως 3 διαφορετικα αντικειμενα εντελως...για να μπορει το ενα να παιρνει τη τιμη της αλλης σαν μεταβλητη πχ αν χρησιμοποιουν το χ και οι 3 οταν αλλαζει στη μια να γινεται και στην αλλη πρεπει ειτε να κανεις τις 2 επομενες απλες μεθοδους της κλασεις σου με δηλωενη την μεταβλητη απο την αρχη...ειτε να κανεις synhronize tiw μεθοδους πραγμα που δεν νομιζω θα καταφερεις ευκολα αφου δεν ξερεις καλη Java.
theomalegan Δημοσ. 28 Ιουλίου 2011 Δημοσ. 28 Ιουλίου 2011 Μάλλον δεν έχεις περιγράψει σωστά το πρόβλημά σου , τή είναι το bluej.
Lucky Luke Δημοσ. 31 Ιουλίου 2011 Δημοσ. 31 Ιουλίου 2011 To bluej είναι το IDE που χρησιμοποιεί. Στο πρόβλημά σου τώρα. Για να μπορείς να χρησιμοποιήσεις την μεταβλητή της κλάσης 2 στην κλάση 3 πρέπει αρχικά να κατασκευάσεις ένα αντικείμενο (με new) της κλάσης 2 μέσα στην κλάση 3. Από εκεί, μέσω του αντικειμένου αυτού, θα προσπελάσεις τη μεταβλητή. Αντίστοιχα θα μπορούσες να την προσπελάσεις αν είχες δηλώσεις τη μεταβλητή ως static, απλά καλώντας όνομα_κλάση_2.όνομα_μεταβλητής. Αν δε σε καλύπτει το παραπάνω, γίνε λίγο πιο συγκεκριμένος με κώδικα. Πώς έχεις υλοποιήσει τις κλάσεις σου (τα "κρίσιμα" σημεία) και πώς το προσπαθείς τώρα και δεν τα καταφένεις;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.