Friday, October 7, 2016

Bà i 19 Phương thức khởi tạo constructor trong Java

Bà i 19 Phương thức khởi tạo constructor trong Java


Bài 19: Ph??ng th?c kh?i t?o (constructor) trong Java

constructors
?
1, Constructor là gì?

- Contructor th?t ra là m?t lo?i ph??ng th?c ??c bi?t c?a l?p.
- Constructor dùng g?i t? ??ng khi kh?i t?o m?t th? hi?n c?a l?p, có th? dùng ?? kh?i gán nh?ng giá tr? m?c ??nh. Các constructor không có giá tr? tr? v?, và có th? có tham s? ho?c
không có tham s?.
- Constructor ph?i có cùng tên v?i l?p và ???c g?i ??n dùng t? khóa new.
- N?u m?t l?p không có constructor thì java s? cung c?p cho l?p m?t constructor m?c ??nh (default constructor). Nh?ng thu?c tính, bi?n c?a l?p s? ???c kh?i t?o b?i các giá tr? m?c ??nh (s?: th??ng là giá tr? 0, ki?u lu?n lý là giá tr? false, ki?u ??i t??ng giá tr? null, …)
- B?n có th? ??nh ngh?a nhi?u ph??ng th?c kh?i t?o cho m?t l?p.
- Gi?ng nh? các ph??ng th?c khác, ph??ng th?c kh?i t?o l?p có th? b? n?p ch?ng (overload)
** L?u ý: thông th??ng ?? an toàn, d? ki?m soát và làm ch? mã ngu?n ch??ng trình chúng ta nên khai báo m?t constructor cho l?p.

*** Tham kh?o thêm 2 video c?a Blog StudyAndShare v? Constructor



?

2, Ví d? v? constructor:

T?o l?p SinhVien v?i các thu?c tính hoTen, namSinh, diemTb, lop.
T?o constructor có 2 tham s? truy?n vào và 1 constructor overload constructor ?ó, v?i 3 tham s? truy?n vào:
PHP:
package javaandroidvn;

class 
SinhVien {

    private 
String hoTen;
    private 
int namSinh;
    private 
float diemTb;
    private 
String lop;

    public 
SinhVien() {
    }

    public 
SinhVien(String hoTenint namSinh) {
        
this.hoTen hoTen;
        
this.namSinh namSinh;
        
this.lop "At7a";
        
System.out.println("H? tên: " this.hoTen " N?m sinh: " this.namSinh);
        
System.out.println("L?p: " this.lop);
    }

    
//Overloading constructor method
    
public SinhVien(String hoTenint namSinhfloat diemTb) {
        
this.hoTen hoTen;
        
this.namSinh namSinh;
        
this.diemTb diemTb;
        
this.lop "At7a";
        
System.out.println("H? tên: " this.hoTen " N?m sinh: " this.namSinh " ?i?m Trung Bình: " this.diemTb);
        
System.out.println("L?p: " this.lop);
    }
}

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
SinhVien a = new SinhVien("V? V?n T"1992);
        
SinhVien b = new SinhVien("Tr?n Thu P"19969.0f);
    }
}
?

Available link for download