ManGo

进无止境!

浅谈java集成中的final方法重写和重载问题

Question 1:

子类是否可以重写父类的final方法,答案是:不可以!

父类Person:


子类SubPerson:



Question 2:

子类是否可以重载父类的final方法,答案是可以的!

父类Add 


子类 SubAdd:



Question 3:

重载方法中 int ,char 如何自动适配重载函数的!


Number 1:



输出结果毫无悬疑: public final char add(char x, char y) 


Number 2:



输出结果:  public final int add(int x, int y),  char 会转成int类型然后调用int的重载形式。


Number 3:




输出结果: public final float add(float x, float y)   int重载被注释掉之后会转成float类型调用float重载形式。


Number 4:



输出结果: public final float add(float x, float y)   ,因为float类型比int类型精度高,所以调用float形式的重载。



Number 5:



输出结果: public final float add(double x, double y)  ,float找不到float的重载形式,向精度较高的double形式调用。



Number 5:



输出结果: public final float add(float x, float y)   有点困惑,为什么long类型调用了float的重载形式呢?!



阅读更多

扫码向博主提问

去开通我的Chat快问

dax1n

一切都是源于热爱
  • 擅长领域:
  • spark
  • kafka
  • jvm
  • hadoop
版权声明:本文为博主原创文章,转载必须标明出处.尊重他人就是尊重自己! https://blog.csdn.net/Dax1n/article/details/52347457
个人分类: Java
上一篇浅谈java继承中对于main方法的继承之奇葩问题
下一篇追本溯源——JAVA中为什么float型最大值大于long型?
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭