14 June 2016

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);
    }
}

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang