欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java的多态是什么意思_Java中的多态是什么?

发布时间:2025/3/20 java 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java的多态是什么意思_Java中的多态是什么? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

不同的行为特征。而造成这一现象的原因在于Java中的变量有两个类型:

编译时类型,由声明变量时的类型决定。

运行时类型,由实际赋值给变量的对象的类型决定,当一个变量的两个类型不一致,就会出现多态。

//BaseClass是SubClass的父类

BaseClass a = new BaseClass();

BaseClass b = new SubClass();

//变量a调用baseMethod()方法,实际上会调用BaseClass的baseMethod()方法,会打印111

a.baseMethod()

//变量b调用baseMethod方法,实际上会调用SubClass的重写baseMethod()方法,会打印222

b.baseMethod()

Class BaseClass {

void baseMethod() {

System.out.println("111");

}

}

Class SubClass {

void baseMethod() {

System.out.println("222");

}

}

输出结果:

111

222

例如这个例子中,

对于变量a而言

a的编译类型是BaseClass,实际类型也是BaseClass,所以调用baseMethod()会执行BaseClass#baseMethod()方法,打印出111。

对于变量b而言

b的的编译类型是BaseClass,但是实际赋值时,给变量b赋值的是SubClass对象,所以b的实际类型是SubClass。而SubClass重写了父类BaseClass#baseMethod()方法,所以调用baseMethod()方法会调用SubClass#baseMethod(),从而打印出222。

a和b的编译类型相同,却展现出了不同的行为特征,这就是多态。

(PS:如果直接对b调用只有SubClass有的方法,编译时会报错,但是可以通过反射进行调用。)

原创文章,作者:9IM,如若转载,请注明出处:https://www.9im.cn/411.html

总结

以上是生活随笔为你收集整理的java的多态是什么意思_Java中的多态是什么?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。