集团1929cc威尼斯官网
  • 华为授权培训中心
  • 腾讯云一级认证培训中心
  • 百度营销大学豫陕深授权运营中心
  • oracle甲骨文oaep中心
  • microsoft azure微软云1929cc威尼斯的合作伙伴
  • unity公司战略1929cc威尼斯的合作伙伴
  • 普华基础软件战略1929cc威尼斯的合作伙伴
  • 新开普(股票代码300248)旗下丹诚开普投资
  • 中国互联网百强企业锐之旗旗下锐旗资本投资

什么是java的多态性(polymorphism)?它有哪些不同的形式?

编辑:云和数据 日期:2023-10-16 09:56

a5e312c7ff4a9019079988334d93c40.png

多态性是java面向对象编程的一个重要概念,它允许不同的对象以一致的方式响应同一个方法调用,具体表现为对象在运行时可以表现出多个不同的形态。多态性主要有两种不同的形式:编译时多态性(静态多态性)和运行时多态性(动态多态性)。

1. 编译时多态性(静态多态性):

   – 也称为方法重载(method overloading)。

   – 在编译阶段确定调用哪个方法,根据方法名称、参数数量和参数类型的不同来区分不同的方法。

   – 例如,在同一个类中可以定义多个方法名相同但参数不同的方法。

示例代码:

java

class calculator {

    int add(int a, int b) {

        return a b;

    }

    double add(double a, double b) {

        return a b;

    }

}

2. 运行时多态性(动态多态性):

– 也称为方法重写(method overriding)。

– 在运行时确定调用哪个方法,根据对象的实际类型来决定。

– 需要继承和方法重写的支持,通常用于实现子类覆盖父类的方法。

示例代码:

java

class animal {

    void makesound() {

        system.out.println("animal makes a sound");

    }

}

class dog extends animal {

    @override

    void makesound() {

        system.out.println("dog barks");

    }

}

 

class cat extends animal {

    @override

    void makesound() {

        system.out.println("cat meows");

    }

}

在运行时多态性中,可以通过父类的引用来引用子类的对象,并且调用的方法将根据实际对象的类型而执行不同的操作。

总结:

      多态性是java面向对象编程的重要特性,它分为编译时多态性和运行时多态性。编译时多态性通过方法重载实现,而运行时多态性通过方法重写和继承来实现,允许不同的对象以一致的方式响应方法调用,提高了代码的灵活性和可扩展性。

相关内容

string类型的常见命令有哪些? string类型,也就是字符串类型,是redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:string是普通字符串,int整数类型,可以做自增、自减操作,float浮点类型,可以做自增、自减操作。string的常见命令有:set:添加或者修改已经存在的... 通过form表单提交数据存在哪些缺点? html中的
标签,就是用于采集用户输入的信息,并通过标签的提交操作,把采集到的信息提交到服务器端进行处理。通过点击 submit 按钮,触发表单提交的操作,从而使页面跳转到 action url 的行为,叫做表单的同步提交。表单同步提交存在两个缺... 现在的就业环境回暖了吗 最近上网时,发现很多友友都在问一个艾瑞巴蒂都关心的问题:“当前就业环境回暖了吗?”有的人根据自己的经历,觉得最近猎头和hr的电话明显增多;也有人通过观察网络上的信息,发现求职者们分享的选择工作机会的帖子逐渐增多;还有人表示自己已经预约了面试并且成功拿到了 offer……... 新手起步理解group by 在 mysql 中,group by用于将具有指定列中相同值的行分组在一起,允许对数据进行分类和聚合,即按照指定的字段或者表达式进行分组。我们现在有一个简单的表student,内容如下表1所示:对于上面这个表,我们要求查询每个班几个人?答案是:select class,count(c... windows资源性能常用计数器及参考值 processor%process timecpu的使用率:该计数器最为常用,可以查看处理器是否处于饱和状态,如果该值持续超过95%,就表示当前系统的瓶颈为cpu,可以考虑增加一个处理器或更换一个性能更好的处理器。(参考值:<80%)processor queue length... 今年的就业情况,还能学前端吗? 今年,经济形势低迷,让就业市场遭遇了前所未有的挑战,这也让许多人对于是否投身互联网行业产生了疑虑。无论是赚钱、企业经营、找工作、升职加薪,还是生活本身,都变得越来越困难,一系列的问题仍层出不穷,公司倒闭,大批人面临失业风险,普通人消费力不足,年轻人看不到未来…众所周知,互联网行业具...
×
网站地图