www.updatesofts.com
int a;
Super(Class() // constuctor
{
}
SuperClass(int b) //overloaded constructor
{
a=b;
}
class Subclass Extends SuperClass {// derriving a class
int a;
SubClass(int a) {//subclass constructor
This.a;
}
public void message(){ // overiding the base class message()
System.out.prinln(“In the sub class”);
}
}
Bây giờ chúng ta sẽ tạo ra một đối tượng lớp cha và gán một lớp nhỏ tham chiếu đến nó
như sau:
SuperClasss spObj=new Subclass(22);
Câu lệnh ‘spObj.message’ thuộc phương thức nhóm con. Ở đây kiểu đối tượng được gán
cho ‘spObj’ sẽ chỉ được xác định khi chương trình thực thi. Điều này được biết dưới khái
niệm ‘liên kết động’ (dinamic binding).
3.7.4
Phương thức khởi tạo lớp
Phương thức khởi tạo lớp là một loại phương thức đặc biệt rất khác với các kiểu khởi tạo
cơ bản. Nó không có kiểu trả về. Nó có tên trùng với tên của lớp. Hàm khởi tạo lớp thực
thi như một phương thức hoặc một chức năng bình thường song nó không trả về bất cứ
một giá trị nào. Nói chung chúng được dùng để khởi tạo các biến thành viên của một lớp
và nó được gọi bất cứ lúc nào bạn tạo ra đối tượng của lớp đó.
Phương thức khởi tạo lớp có hai loại:
Tường minh (explicit): Bạn có thể lập trình những phương thức khởi tạo lớp khi định
nghĩa lớp. Khi tạo một đối tượng của một lớp, những giá trị mà bạn truyền vào phải
khớp với những tham số của phương thức khởi tạo (số lượng, thứ tự và kiểu dữ liệu
của các tham số)
Ngầm định (Implicit): Khi bạn không định nghĩa một hàm khởi tạo cho một lớp, JVM
cung cấp một giá trị mặc định hay một phương thức khởi tạo ngầm định.