Dưới đây tôi có hai lớp.Parent và Child. Lớp Child thừa hưởng từ lớp Parent. Trong constructor của lớp Parent, tôi đang gọi phương thức print() của lớp Parent.Các phương thức gọi bên trong Constructor
Khi tôi tạo đối tượng cho lớp con trong phương thức main(), hàm khởi tạo lớp cha và phương thức lớp con() được gọi thay vì phương thức print class() của lớp cha.
Q1. Tại sao điều này xảy ra.
Q2. Tại sao giá trị của i là 0
public class Sample
{
public static void main(String[] args)
{
Child objChild = new Child();
objChild.print();
}
}
class Parent
{
void print()
{
System.out.println("i Value");
}
Parent()
{
print();
}
}
class Child extends Parent
{
int i = 45;
void print()
{
System.out.println("i Value = "+i);
}
}
OP
i Value = 0
i Value = 45
Nếu tôi thay thế print() với this.print() trong constructor cha tại sao nó không in "i Value"? – user3218743