Δημοσιεύτηκε: 23 Δεκ 2011, 18:42
από medigeek
Star_Light έγραψε:λεω το 2 μου το κανει 1

Ξαναεξηγώ:
Star_Light έγραψε: object.display(1);


Star_Light έγραψε:
private int a=2;

public void display(int a)
{
System.out.println("a is: " +a);
}

To a είναι το 1 που εκτέλεσες με το object.display(1). Πρόσεξε αυτά που σημείωσα με κόκκινο χρώμα.

Έθεσες δύο ξεχωριστές μεταβλητές με το ίδιο όνομα:
* a στο display με κοκκινο χρώμα
* a στο class με μπλε χρώμα.

Στο public void display όταν αναφέρεσαι στο a θα σου δίνει το a στο display (με κόκκινο χρώμα).
Όταν αναφέρεσαι στο this.a θα σου δίνει το a στο class (με μπλε χρώμα):
Κώδικας: Επιλογή όλων
System.out.println("a is: " +this.a);


Τώρα εξαρτάται από τι θέλεις να κάνεις με το object.display(1) :)