作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我怀疑我不知道 C# 中什么是编译时,什么是运行时。我从多态性(方法重载,方法重写)中得到这个词,你能解释一下吗?谢谢
最佳答案
方法重载是在编译时确定的。这意味着编译器确切地知道当您调用重载方法时将执行哪些代码。它可以生成对代码的直接调用,而无需添加代码运行时必须执行的任何检查。
方法覆盖是在运行时确定的。当您调用虚方法时,要调用的实际方法取决于对象的实际类型,并且必须在调用完成时进行此检查。由于引用可能引用不同类型的对象,编译器无法根据引用类型确定将调用哪个方法,因此它必须添加代码来查找从哪个类获取方法。
关于c# - 编译时和运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944725/
我是一名优秀的程序员,十分优秀!