标签:后缀 重写 不能 一个 line 确定调用 tle int amp
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。
(1) 重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。
(2) 重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
(3) 方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
因为调用时不能指定类型信息,编译器不知道你要调用哪个函数。
float max(int a, int b); int max(int a, int b);
当调用 max(1,2) 时无法确定调用的是哪个,单从这一点上来说,仅返回值类型不同的重载是不应该允许的。
从编译器的角度来看,它会将一个函数签名(包括它的函数名&参数列表)以前缀或后缀的方式组织成一个名称。
这里不包括它的返回值,所以从编译器的角度来来看,这两个函数是同一个,区分不开。
标签:后缀 重写 不能 一个 line 确定调用 tle int amp
原文地址:https://www.cnblogs.com/Dm920/p/12507958.html