Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Hỏi về this.(tên biến) trong 1 class ??

    Mình có 1 ví dụ :
    class Tmp() {
    private long a;
    public Tmp(long a) {
    this.a = a;
    }
    }

    public Tmp() {
    }
    public long getTmp(long tmpp) {
    return tmp;
    }
    public void setTmp(long tmp) {
    this.tmp = tmp;
    }

    hàm main {
    Long x;
    Tmp a0 = new Tmp();
    Tmp a1 = new Tmp(1);
    Tmp a2 = new Tmp(2);
    Scanner sc = new Scanner(System.in);
    x = new.nextLong();
    a0.setTmp(x);
    }

    Mọi người cho mình hỏi về cái this.a trong Class Tmp :
    + Nếu như lần đầu mình gán cho nó giá trị = 1, thì this.a = 1, lần thứ hai = 2, thì this.a = 2,
    vậy thì giá trị = 1 nó đã đi đâu.
    + Nếu mình nhập một số bất kì từ bàn phím, rồi muốn đem số này ra so sánh với cả 2 số đã gán (là 1 và 2)
    mà this.a lúc này chỉ mang có 1 giá trị, thì mình fải làm sao ?

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    class Tmp() {
    private long a;
    public Tmp(long a) {
    this.a = a;
    }
    }

    this.a = cũng có nghĩa là Temp.a = a (là variable pass vô)

    nếu không thích sài this có thể sài

    class Tmp() {
    private long m_a;
    public Tmp(long a) {
    m_a = a;
    }
    }

    m = Member variable

    lý do dùng this là vì 2 variable giốngnhau a và a ... sử dụng this để phân biệt cái nào là member variable và cái nào là parameter

    sau khi assign this.a = 1, và this.a = 2 ... thì số 1 biến thành 2 ... vì n' thay đổi trong memory và số 1 bị xóa khỏi memory vĩnh viễn [IMG]images/smilies/smile.png[/IMG]

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi VNFox
    class Tmp() {
    private long a;
    public Tmp(long a) {
    this.a = a;
    }
    }

    this.a = cũng có nghĩa là Temp.a = a (là variable pass vô)

    nếu không thích sài this có thể sài

    class Tmp() {
    private long m_a;
    public Tmp(long a) {
    m_a = a;
    }
    }

    m = Member variable

    lý do dùng this là vì 2 variable giốngnhau a và a ... sử dụng this để phân biệt cái nào là member variable và cái nào là parameter

    sau khi assign this.a = 1, và this.a = 2 ... thì số 1 biến thành 2 ... vì n' thay đổi trong memory và số 1 bị xóa khỏi memory vĩnh viễn [IMG]images/smilies/smile.png[/IMG]
    Cám ơn bạn nhiều !
    Bạn cho mình hỏi thêm là nếu muốn giữ giá trị của 1 lại thì fải làm ntn (nếu số lần giá trị mình gán vào this.a là từ 3 lần trở lên) ?

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •