Class book {
Int page = 500;
String author = "Sam ";
}
Class itbook extends book {
Int page = 600;
String author = "Gates ";
}
Class javatek extends itbook {
// Int page = 900;
String author = "Eckel ";
}
Public class testinheritence {
Public static void main (string [] ARGs ){
Book = New Book ();
Itbook = new itbook ();
Javadek = new javadek ();
System. Out. println ("book. Page:" + book. Page );
System. Out. println ("itbook. Page:" + itbook. Page );
System. Out. println ("javatek. Page:" + javatek. Page );
System. Out. println ("javatek. Author:" + javatek. Author );
}
}
Please refer to the above simpleProgramIf javatek does not define page data members, because javatek inherits from itbook, you can still call javatek. page, but in the same way, the author data member is defined above, but since javatek already has the data member author inherited from itbook, I will define it again here. Why is there no conflict during compilation?
In addition, I have heard that data members include "class data members" and "object data members". What is the difference between the two? For example.