java多态编译_关于java:编译时多态是否是这样的运行时多态?

通过研究,我了解到:

重载,运算符重载和重载是我们所说的多态。

多态性意味着同一实体有时表现不同

例如:

参数

add(12, 13);

add(12.2, 13.3);

相同实体(add())有时会有所不同(适用于double,适用于int)。

//模板也在这里工作

特设

Animal dogInstance = new Dog();

Animal catInstance = new Cat();

dogInstance.sound(); //bark

catInstance.sound(); //meow

同一实体(sound())有时会有所不同

sound()将根据实例(狗或猫)而工作。

重载,模板和泛型在编译时发生(编译时多态)。

覆盖,运算符重载发生在运行时(运行时多态)。

参数多态性是指可以将相同的代码应用于多种数据类型。

例如重载,模板和泛型

临时多态性是指对不同的数据类型使用不同的代码。

例如覆盖,运算符重载

附加问题:

Why is operator overloading ad-hoc (dynamic binding)?

也:

如果您是一名程序员,则应该注意这些事情,例如运行时多态,编译时多态,动态链接,静态链接,框架含义,

框架和库之间的区别,什么是重型框架,什么是轻量级框架,等等,或者只要我的程序可以工作,我应该继续编程吗?

请编辑您的帖子以使用Sentence-Case。我们将进行管理。

因此,您的问题是,如果您应该深入了解自己在做什么,或者只要您的程序可以工作,就可以"不关心"我是否正确?

在这里,我们大多数人都可以很好地阅读,而无需使用所有大写字母!

对不起,我认为这会有所帮助

我会尽力回答您的两个问题。

编译时间/运行时间:在编译时,编译器只能验证语法正确的内容。它是运行时,可以执行行为评估。例如

If you have two classes B and C extending A. There is one method is

declared to return A. In your caller, you expect that it is going to return

instance of B. You may type cast return value to B as (B)A. Compiler

will not complain any issue here. But if at run time, it finds, your method

is return instance of c, it will fail.

我在这里要解释的是:有些行为只能在运行时评估。

编程:在编写小型教程程序时,您所关心的只是程序的成功和基础学习。在编写较大/繁重使用情况的应用程序时,必须非常小心。一切,例如字符串连接,变量选择,迭代次数,对象引用非常重要。

我希望这有帮助。

在Java中,即使==也没有运算符重载,这会使新手Java程序员感到困惑。

您需要了解基本的多态性原理,但是在确定要覆盖的范围之前,我将确保您了解编程的所有高级功能。

我认为没有什么是重量级或轻量级框架的标准定义。我想这主要是一种设计策略,要么将所有内容都包含在一个库中,要么尽可能简单。

抱歉,我忘记了Java中没有运算符重载。 对您来说,什么是临时多态性和参数多态性

它们不是我在Java中遇到的术语。

在Java中,JIT可以基于运行时行为优化多态,这毫无价值。 这意味着它可以静态应用于明显的动态情况,例如 如果仅使用两个不同的类,则仍可以内联使用接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值