专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 一文读懂Java实现多态的机制

一文读懂Java实现多态的机制

更新时间:2022-10-10 09:23:58 来源:赢咖4 浏览1050次

java多态中主要由以下两种表现方式:

1. 方法的重载(overload)

同一个方法中有多个同名的方法,但这些方法有不同的参数。因此在编译时,就可以确定到底调用哪个方法。它是一种编译时多态。重载可以被看做一个类中的方法多态性。

2. 方法的覆盖(override)

子类可以覆盖父类的方法,因此同样的方法会在父类和子类中有着不同的表现形式。 在java语言中,基类的引用变量不仅可以指向基类的实例对象,也可以指向其子类的实例对象。同时,接口的引用变量也可以指向其实现类的实例对象。这样就可以实现动态绑定。 这样就只有运行时才能确定调用哪个方法,因此通过方法覆盖实现的多态也可以被称为运行时多态。

子类覆盖(override)父类中的方法时,需要注意几点:

类中的方法有多态的概念,类中的成员变量没有多态的概念。

如下代码, 打印的结果是1, 成员变量的取值是父类还是子类并不取决于创建对象的类型,而是取决于所定义变量的类型,这是在编译期间决定的。

import org.junit.Test;
public class Base {
	public int i = 1;	
	@Test
	public void test(){
		Base b = new Derived();
		System.out.println(b.i);// b所属的类型是Base, b.i指的是Base类中定义的i
	}
}
class Derived extends Base{
	public int i = 2;
}

以上就是关于“一文读懂Java实现多态的机制”介绍,大家如果想了解更多相关知识,不妨来关注一下本站的Java教程,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>