Overloading a base-class method name in a derived class does not hide the base-class versions. : Inheritance « Class Definition « Java Tutorial






class A {
  char doh(char c) {
    System.out.println("doh(char)");
    return 'd';
  }
  float doh(float f) {
    System.out.println("doh(float)");
    return 1.0f;
  }
}

class B {}

class C extends A {
  void doh(B m) {
    System.out.println("doh(B)");
  }
}

public class MainClass {
  public static void main(String[] args) {
    C b = new C();
    b.doh(1);
    b.doh('x');
    b.doh(1.0f);
    b.doh(new B());
  }
}
doh(float)
doh(char)
doh(float)
doh(B)








5.22.Inheritance
5.22.1.Inheritance
5.22.2.Accessibility
5.22.3.Method Overriding
5.22.4.The extends Keyword
5.22.5.Deriving a Class
5.22.6.The keyword super represents an instance of the direct superclass of the current object.
5.22.7.Derived Class Constructors: Calling the Base Class Constructor
5.22.8.Overriding a Base Class Method
5.22.9.Type Casting
5.22.10.Inheritance, constructors and arguments
5.22.11.Combining composition and inheritance
5.22.12.Inheritance and upcasting.
5.22.13.Overloading a base-class method name in a derived class does not hide the base-class versions.
5.22.14.Cleanup and inheritance
5.22.15.Creating a Multilevel Hierarchy
5.22.16.Demonstrate when constructors are called in a Multilevel Hierarchy