爪哇2博客
爪哇2博客

爪哇多态性示例

在本教程中,我们将了解Java中的多态性。

爪哇中的多态性是面向对象的核心编程概念之一, 抽象化, 封装遗产.

多态性 意思是多种形式的名字。在Java中,可以通过以下方式实现多态 方法重载方法覆盖.

爪哇中有两种类型的多态性。

  • 编译时多态。
  • 运行时多态。

编译时多态

Compile time Polymorphism 只不过是 方法重载 在Java中。您可以使用相同的名称定义不同的方法,但可以使用不同的方法参数。您可以阅读更多有关 方法重载.

让’借助示例可以理解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
组织.Arpit.爪哇2blog;
 
上市 方法重载示例 {
    上市 虚空 方法1(整型 a)
    {
        系统..打印(“整数: ”+a);
    }
    上市 虚空 方法1( b)
    {
        系统..打印(“双人”+b);
    }
    上市 虚空 方法1(整型 a, 整型 b)
    {
        系统..打印(“整数a和b:”+a++b);
    }
    上市 静态的 虚空 主要( args[])
    {
        方法重载示例 = 方法重载示例();
        .方法1(20);
        .方法1(30.0);
        .方法1(20, 30);
    }
}
 

当您运行上述程序时,将获得以下输出:

整数:20
双30.0
整数a和b:20 30

如您所见,我们使用了相同的方法名称但使用了不同的方法参数。编译器将基于最佳匹配的参数调用适当的方法。

运行时多态

运行时多态 只不过是 方法覆盖 in 爪哇.If subclass is having same method as base 类 then it is known as 方法覆盖 Or in another word, If subclass provides specific implementation to any method which is present in its one of parents 类es then it is known as 方法覆盖.

让’s say you have parent 类 as 形状 和 child 类 as 长方形circle.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
组织.Arpit.爪哇2blog;
 
上市 形状 {
 
    上市 虚空 ()
    {
        系统..打印(“绘图形状”);
    }
    上市 静态的 虚空 主要([] args) {
        形状 s= 长方形();
        s.();
 
        s= ();
        s.();
    }
 
}
长方形 延伸 形状
{
    上市 虚空 ()
    {
        系统..打印(“绘制矩形”);
    }
}
 
延伸 形状
{
    上市 虚空 ()
    {
        系统..打印(“画圆”);
    }
}
 

当您运行上述程序时,将获得以下输出:

绘图矩形
绘图圈

请注意,我们在此处将子对象分配给父对象。

1
2
3
 
形状 s= 长方形();
 

如您所见,我们在子类Rectangle和Circle中重写了draw方法。虚拟机 根据对象分配确定在运行时需要调用哪种方法。那’s why this is known as Run time polymorphism.

那’关于Java中的多态性。

分享这个

作者

关注作者

相关文章

  • 1月30日

    爪哇中早期绑定和晚期绑定之间的区别

    爪哇中的绑定是指将方法或函数主体与Java编译器的方法或函数调用相关联的过程。用简单的话来说,当Java编译器调用一个函数时,为各个函数正确定位方法的任务就是绑定。取决于编译器何时[…]

  • 11月04日

    我们可以重载Java中的main方法吗

    在这篇文章中,我们将看到"我们可以重载Java中的main方法吗"这是Core 爪哇面试中最常问到的问题之一。是的,我们可以在Java中重载main方法,但是当您运行程序时,JVM将搜索public 静态的 虚空 主要(String [] args)并执行该方法。 [中的重载主要方法…]

  • 11月2日

    爪哇中的动态方法分派

    在本文中,我们将介绍动态方法分派,也称为运行时多态。动态方法分派动态方法分派是一种在运行时而不是在编译时解决对覆盖方法的调用的技术。当引用调用覆盖方法时,则哪个版本的覆盖方法[…]

  • 10月29日

    我们可以覆盖Java中的静态方法吗

    不,我们不能在Java中覆盖静态方法。静态方法是可以在不创建类对象的情况下调用的方法,它们是类级别的方法。另一方面,如果子类具有与基类相同的方法签名,则称为方法重写。它的执行在运行时决定。以下是[…]

  • 8月26日

    用Java复制构造函数

    在这篇文章中,我们将看到copy constructor in 爪哇. Copy constructor is the constructor which takes parameter as object of same 类 和 copy each field of the 类 to the 新 object. Unlike C++, 爪哇 does not provide default copy contructor. You need to create one, if you want to have copy […]

  • 8月26日

    爪哇默认构造函数

    在这篇文章中,我们将看到有关Java默认构造函数的信息。除非您显式提供任何其他构造函数,否则默认构造函数是由编译器插入的no arg构造函数。你赢了’无法看到它,因为它存在于类文件而不是源文件中。没有参数构造函数和[…]

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


让’s be Friends

©2020 爪哇2博客