Δημοσιεύτηκε: 23 Δεκ 2011, 17:13
από medigeek
Όπως το έχεις, παίρνει τη μεταβλητή a (δλδ. τον αριθμό 1) που έδινες με το display(1).

Το εξηγεί στο βίντεο ότι για να αλλάξει η ημερομηνία/μεταβλητή, πρέπει να βάλεις "this." όταν ζητάς μεταβλητή κλάσης. Δλδ το a γίνεται this.a. Το this.a λέει στο πρόγραμμα «ψάξε τη μεταβλητή a που έθεσα στο class»


To λάθος σου είναι ότι έβαλες με το ίδιο όνομα τη μεταβλητή a στο class και τη μεταβλητή a στο display. Είναι δύο διαφορετικές οντότητες/μεταβλητές. Άρα για να μην συγχιστείς περισσότερο, θέσε το a του display με άλλο όνομα, εγώ το έθεσα mynum:

Examples.java
Κώδικας: Επιλογή όλων
public class Examples
{
public static void main(String args[])
{
Examples2 object = new Examples2();
object.display(1);
}
}


Examples2.java
Κώδικας: Επιλογή όλων
public class Examples2 {
private int a=2; //this is your this.a
public void display(int mynum)
{
System.out.println("this.a was: " +this.a);
this.a = mynum;
System.out.println("this.a is now: " +this.a);
}
}


έγραψε:$ java Examples
this.a was: 2
this.a is now: 1