Polymorphism and method overloading

前端 未结 5 769
深忆病人
深忆病人 2020-12-25 11:52

I have a quick and straighforward question:

I have this simple class:

public class A
{
    public void m(Object o)
    {
      System.out.println(\"m         


        
5条回答
  •  盖世英雄少女心
    2020-12-25 12:45

    My 2 cents. Method with Number argument is the one that is called, Because Number extends Object. I had a similar situation in the past, I did override a method and put Component instead of JComponent (by mistake). It took me one week to find out the reason why my method was never called. I figure it out, that if there are some inheritance relationship between the overloaded methods, the JVM matches first the deeper one in the class hierarchy.

提交回复
热议问题