欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Java中多态的理解和应用

Java中多态的理解和应用

2025/2/22 2:08:56 来源:https://blog.csdn.net/weixin_52772307/article/details/142031444  浏览:    关键词:Java中多态的理解和应用

关于什么是Java中的多态,相信正在看这篇文章的同学们已经了解了不少概念,所以在这里我们就不再说过多废话,直接上代码来理解什么是多态~

测试代码

class Father {public void func1(){func2();}public void func2(){System.out.println("AAA");}public static void func3(){System.out.println("father-static");}}class Child extends Father{public void func1(int i){System.out.println("BBB");}public void func2(){System.out.println("CCC");}public static void func3(){System.out.println("son-static");}}public class Test_2 {public static void main(String[] args) {//实际类型是确定的,但是引用类型不确定//对象能执行哪些方法主要看左边的类型,和右边的关系不大Father child = new Child(); // 父类的引用指向子类child.func1();child.func2();child.func3();((Child) child).func3();}
}

测试结果

CCC
CCC
father-static
son-static

结果分析和总结

    ① 重写都是方法的重写,和属性无关。
    ② 多态是方法的多态,不存在属性的多态。

    存在条件:继承关系,方法需要重写,父类的引用指向子类对象 !Father father = new Son();
    父类类型的引用指向子类,父类类型的引用可以调用父类中定义的所有属性和方法,
    如果子类重写了父类的方法,那么父类类型的引用就会调用子类中重写的父类方法。
    但是如果子类重载或者没有重写父类的方法,父类类型的引用就会调用父类中原有的
    方法,只要子类中重写了父类的方法,当调用时,父类类型的引用就会去调用子类中
    重写过的父类方法。(动态加载过程)
    static关键字:和类一起加载,既不能被子类覆盖,也不能被子类继承,不能被运行时动态加载

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词