-
11-10-2012, 11:58 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Từ khóa Super trong Java dùng để làm gì?
Mọi người cho mình hỏi từ khóa Super trong java dùng để làm gì với[IMG]images/smilies/17.gif[/IMG][IMG]images/smilies/17.gif[/IMG][IMG]images/smilies/17.gif[/IMG]
vd trong trường hợp sau nó để làm gì
Mã:public class UserImpl extends BasicImpl implements User { public UserImpl(ConnectionPool cp) { super(cp, "User"); }
View more random threads:
- Lấy địa chỉ trang web mà máy tính truy cập bằng Java như thế nào?
- Đọc và ghi file ảnh bitmap trong Java như thế nào?
- tại sao java lại ít dùng lập trìng game (3D) PC vậy?
- Tạo volume control trong java swing bằng netbeans
- Cách chỉnh sửa phần từ trong mảng ?
- Thưc thi xong một jFrame mới được thực hiện JFrame khác?
- Gửi sms đến cellphones bằng java web
- tại sao lại có kiểu khai báo "int... var" trong Java nhỉ
- [Hỏi] Code getclass và file mã hóa của nó
- Cách gửi mail trong nội dung có màu chữ trong Java?
-
11-10-2012, 01:05 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
super nghĩa là Super class (lớp được kế thừa hoặc lớp cha) tương đương với base trong C#, được sử dụng trong kế thừa.
super(cp, "User"); nghĩa là gọi constructor của lớp cha
-
03-11-2012, 04:30 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi shintani
Mã:super(cp, "User");
Mã:BasicImpl(cp, "User");
-
21-11-2012, 04:13 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
- Từ khóa this là ở class hiện tại còn super là lớp cha của lớp đó(tức lớp mà lớp hiện tại kế thừa). Dùng this khi gọi tới các method hoặc constructor của lớp hiện tại, super khi gọi tới method hoặc constructor của lớp cha, super bằng vs base trong C#. Bạn xem lại phần core cho rõ ràng.
- Ví Dụ:
Lớp BaseEntity làm nền cho tất cả các lớp thuộc package entity:
Mã:package model.entity; import java.util.Date; /**** @author DucMjnh1992*/public abstract class BaseEntity { private int id; private Date createdDate; private boolean deleted; public int getId() { return this.id; } public void setId(int id) { this.id = id; } public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } public boolean isDeleted() { return this.deleted; } public void setDeleted(boolean deleted) { this.deleted = deleted; } public BaseEntity(int id, Date createdDate, boolean deleted) { this.id = id; this.createdDate = createdDate; this.deleted = deleted; } public BaseEntity() { this(0, new Date(), false); }}
Mã:package model.entity; import java.io.Serializable;import java.util.Date; /**** @author DucMjnh1992*/public class Category extends BaseEntity implements Serializable { private String name; private String description; public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Category(int id, String name, String description, Date createdDate, boolean deleted) { super(id, createdDate, deleted); this.name = name; this.description = description; } public Category() { this(0, "", "", new Date(), false); } @Override public String toString() { return this.name; }}
-
07-10-2014, 11:22 AM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
mình chịu [IMG]images/smilies/17.gif[/IMG]
Manchester United
- - - Nội dung đã được cập nhật ngày 07-10-2014 lúc 04:22 PM - - -
Cho mình hỏi nếu như ở class Category, ta không super id thì khi mình thực hiện this.id nó gọi id của lớp cha đúng ko ạ.
-
07-10-2014, 01:31 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Nó kế thừa rồi nên gọi this.<tên trường> thì nó cũng như gọi super.<tên trường> thôi.
Nhưng trong một số trường hợp thì phải phân biệt rõ ràng, bên trong phương thức.
- Khi gọi hàm dựng của lớp cha ở trong hàm dựng lớp con.
- Khi gọi một phương thức của lớp cha đã bị lớp con ghi đè.
-
07-10-2014, 04:32 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
có 2 chỗ bạn thường dùng đến:
1. Gọi lại contructor của lớp cha.
Mã:class A{ A(int a){ System.out.println("Day la so " + a); }}/ew A(1) in ra: Day la so 1;class B extend A{ B(int a, int b){ super(a); System.out.print("va so " + b); }}/ew B(1, 2) in ra: Day la so 1 va so 2;
Mã:class A{ void Stupid(int a){ System.out.println("Day la so " + a); } //(new A()).Stupid(1); in ra: Day la so 1;}class B extend A{ @override void Stupid(int a){ supper(a); System.out.print("va binh phuong la " + (a * a)); }}//(new B()).Stupid(2) in ra: Day la so 2 va binh phuong la 4;
-
25-06-2015, 04:55 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi DucMjnh1992
Mã nguồn PHP:public Category(int id, String name, String description, Date createdDate, boolean deleted) { super(id, createdDate, deleted);
Mã nguồn PHP:public Category(int id, String name, String description, Date createdDate, boolean deleted) { super.BaseEntity(id, createdDate, deleted);
-
19-09-2015, 09:30 AM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Từ khóa của NNLT mà không biết dùng thì tốt hơn không dùng nó. Không quá 100 từ khóa mà không phân biệt được sao!
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...