大家好,今天小编关注到一个比较有意思的话题,就是关于java多态的两种语言的问题,于是小编就整理了3个相关介绍Java多态的两种语言的解答,让我们一起看看吧。
什么是多态?j***a中如何实现多态?
1.编译时多态,其实就是方法重载,相同函数名,但签名不相同。值得注意的是签名不包括方法返回值,换句话说,两个方法,函数名和入参都相同,但返回值不同,编译器回报错的。
2.运行时多态,其实就和继承和接口实现相关了,子类可以覆盖父类的非final,非static,非private方法或者实现接口方法。运行时,动态绑定实例到父类或接口的引用,那jvm是怎么知道调用哪个子类的实例的对应方法的呢?这就是你问的问题了——J***a中对象在jvm内部都有描述元数据,对象头,对象头中存储了当前实例的类型信息,调用时jvm就根据这个type能精确找到具体是点用哪个子类的方法了。
什么是多态?
俩个子类调用父类中同一个方法,效果不同,j***a中多态大多数情况因继承而产生,子类继承父类方法,然后拥有了自己的方法执行方式,覆盖了父类中的方法。重载也是多态,不过是在同一个类中。
classa{
publicvoiddosome(){
system.out.println("父类");
}
}
clas***extendsa{
publicvoiddosome(){
system.out.println("子类b");
}
jdbc实现原理是多态的一种吗?
JDBC 原理:JDBC 是以前 SUN 公司定义的一套访问数据库的接口(没有具体实现) ,一套标准,具体的实现是由
各大数据库厂家去实现,每个数据库厂家都有自己的 JDBC 实现,也就是 JDBC 驱动实现类,J***a 应用程序连接
指定数据库,需要使用厂家提供的 JDBC 驱动才能连接。 (这里其实就是 j***a 多态的一种体现,一个接口可以有
很多具体的实现)
到此,以上就是小编对于j***a多态的两种语言的问题就介绍到这了,希望介绍关于j***a多态的两种语言的3点解答对大家有用。