A regra é, o construtor de Employee b[/b] vai fazer sempre uma chamada super(); sem argumentos ao construtor da super-classe, como na super classe já tem um construtor com argumentos ele não va criar um automaticamente, compilaria sem erros se tivesse um construtor sem argumentos na super-classe, ou não tivesse aquele construtor com argumentos public Person (String nm){}, ou construtor de sub-classe b[/b] tivesse uma chamada a super com argumentos super(id);.
Compilaria assim:
[code]class Person {
String name = " No name";
public Person (String nm) {name = nm; }
public Person(){}
}
class Employee extends Person {
String empID = “0000”;
public Employee(String id) {
empID = id; }
} [/code]
ou assim:
[code] class Person {
String name = " No name";
}
class Employee extends Person {
String empID = “0000”;
public Employee(String id) {
empID = id; }
} [/code]
Ou assim:
[code]class Person {
String name = " No name";
public Person (String nm) {name = nm; }
}
class Employee extends Person {
String empID = “0000”;
public Employee(String id) {
super(id);
empID = id; }
} [/code]