关于Java方法重载
Posted jojozzc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Java方法重载相关的知识,希望对你有一定的参考价值。
今天在做项目的时候发现一个问题,如果有两个方法是重载的,而且他们的参数一个是父类,一个是子类,那么调用的时候会调用哪个函数呢?
做了个测试,发现调用的是子类。
例子:
public class Animal { public Animal(){} }
他的一个子类:
public class Cat extends Animal { public Cat(){} }
然后再Test类中实现两个方法:
class Test{ public static void main(String[] args){ Cat cat = new Cat(); animalTest(cat); } private static void animalTest(Animal a){ System.out.println("wawa"); } private static void animalTest(Cat a){ System.out.println("miao"); } }
运行结果:
miao
如果把cat声明为Animal的话,运行结果又变成了 wawa ,回去补一补Java多态,再回来更新。
以上是关于关于Java方法重载的主要内容,如果未能解决你的问题,请参考以下文章