public class LecturerInfo extends StaffInfo {
private float salary;
public LecturerInfo()
{
this();
this.Name = null;
this.Address = null;
this.salary=(float) 0.0;
}
public LecturerInfo(String nama, String alamat, float gaji)
{
super(nama, alamat);
Name = nama;
Address = alamat;
salary = gaji;
}
@Override
public void displayInfo()
{
System.out.println("Name :" +Name);
System.out.println("Address :" +Address);
System.out.println("Salary :" +salary);
}
}
This code shows an error which is:
Recursive constructor invocation LecturerInfo()
Is it because of the no-argument constructor having conflicts with the constructor with parameters?
if you modify the fist constructor to this:
this will be recursive.
the code below is recursive. Since
this()
will call no arg constructor of current class that meansLectureInfo()
again.by calling
this()
you are calling your own constructor. By observing your code it seems you were supposed to callsuper()
instead ofthis();