Cấu trúc dữ liệu Dictionary trong Python
1. Dictionary là gì? Tạo một Dictionary trong Python Dictionary được sử dụng để lưu trữ...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
1. Từ khóa super trong Java dùng để làm gì? Từ khóa super trong Java giúp lớp con (subclass) truy cập thành phần của lớp cha (superclass): Giúp gọi phương thức của lớp cha được ghi đè (overriding) trong lớp con Giúp truy cập các thuộc tính của lớp cha nếu cả lớp con và […]
Từ khóa super trong Java giúp lớp con (subclass) truy cập thành phần của lớp cha (superclass):
Khi phương thức bị ghi đè (overriding), lớp con gọi tên đó sẽ chạy phương thức của chính lớp con.
class LopCha{
protected void xuat(){
System.out.println("Lop cha.");
}
}
class LopCon extends LopCha{
@Override
public void xuat(){
System.out.println("Lop con.");
}
}
public class Test{
public static void main(String[] args) {
LopCon aaa = new LopCon();
aaa.xuat();
}
}
Lop con.Đã ghi đè mà vẫn muốn gọi phương thức của lớp cha? Dùng từ khóa super.
class LopCha{
public void xuat(){
System.out.println("Lop cha.");
}
}
class LopCon extends LopCha{
@Override
public void xuat(){
super.xuat();//gọi hàm xuat() của lớp cha
System.out.println("Lop con.");
}
}
public class Test{
public static void main(String[] args) {
LopCon aaa = new LopCon();
aaa.xuat();
}
}
Lop cha.
Lop con.
Lớp cha và lớp con có thể có các thuộc tính có tên giống nhau. Chúng ta có thể sử dụng từ khóa super để gọi thuộc tính của lớp cha.
class LopCha{
protected String type="LopCha.";
}
class LopCon extends LopCha{
public String type="LopCon.";
public void xuat(){
System.out.println(type);
//gọi thuộc tính lớp cha
System.out.println(super.type);
}
}
public class Test{
public static void main(String[] args) {
LopCon aaa = new LopCon();
aaa.xuat();
}
}
LopCon.
LopCha.
Khi tạo đối tượng lớp con, hàm khởi tạo mặc định (default constructor) của lớp cha sẽ tự động được gọi. Muốn chọn hàm khởi tạo khác của lớp cha thì dùng super().
Trong hàm khởi tạo của lớp con, chúng ta có thể gọi hàm khởi tạo của lớp cha bằng super(). super() phải nằm ở dòng đầu tiên của hàm khởi tạo lớp con.
class LopCha{
LopCha(){
System.out.println("LopCha.");
}
}
class LopCon extends LopCha{
LopCon(){
super();
System.out.println("LopCon.");
}
}
public class Test{
public static void main(String[] args) {
LopCon aaa = new LopCon();
}
}
LopCha.
LopCon.
Muốn gọi hàm khởi tạo có tham số của lớp cha, ta truyền tham số vào super().
class LopCha{
LopCha(){
System.out.println("LopCha.");
}
LopCha(String type){
System.out.println(type + " ke thua tu LopCha.");
}
}
class LopCon extends LopCha{
LopCon(){
super("LopCon");
System.out.println("LopCon.");
}
}
public class Test{
public static void main(String[] args) {
LopCon aaa = new LopCon();
}
}
LopCon ke thua tu LopCha.
LopCon.
Lưu ý: Khi đã gọi hàm khởi tạo có tham số của lớp cha, trình biên dịch sẽ không tự gọi hàm khởi tạo mặc định nữa.