- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试更深入地理解动态/静态绑定(bind),我可以说,经过大量阅读和搜索后,我对某些事情感到非常困惑。
嗯,java对重写方法使用动态绑定(bind),其原因是编译器不知道该方法属于哪个类,对吗?例如:
public class Animal{
void eat(){
}
class Dog extends Animal{
@Override
void eat(){}
}
public static void main(String[] args[]){
Dog d = new Dog();
d.eat();
}
我的问题是,为什么编译器不知道代码引用了 Dog 类 eat() 方法,即使 d 引用被声明为 Dog 类并且 Dog 的构造函数用于在运行时创建实例?该对象将在运行时创建,但为什么编译器不理解该代码引用了 Dog 的方法?这是编译器设计的问题还是我遗漏了什么?
最佳答案
and the reason for this is that the compiler doesn't know to which class the method belongs to, right?
事实上,没有。编译器不想知道目标对象的具体类型。这允许现在编译的代码将来可以与尚不存在的类一起使用。
最明显的例子是考虑像 Collections.sort(List)
这样的 JDK 方法。您可以将刚刚创建的 List
的实现传递给它。您不想通知 Oracle 您已执行此操作,并希望他们将其包含在“静态支持”列表类型列表中。
关于Java动态绑定(bind): Why the compiler cannot distinguish overriden methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421226/
FullRequestDumperFilter 是作为 RequestDumperFilter 的 Java 类扩展创建的 - part of Tomcat . FullRequestDumperFi
我有几个我希望类具有的行为。我想隔离这些行为,以便我可以重用该代码,随意混合搭配。 例如,执行此操作的一种方法是: class BehaviorAbstract { protected:
在此页面上 [已删除链接] 是什么导致了 background: none!important;涂在身上?我找不到它……这不是 CSS 吗? Chrome 中的 DevTools 没有显示任何内容,F
我正在尝试覆盖 NgxSpinner 的显示和隐藏方法,以防止在过程持续时间太短时出现短时间显示微调器。 这是我在扩展 NgxSpinnerService 的类中的代码 import { In
我正在尝试更深入地理解动态/静态绑定(bind),我可以说,经过大量阅读和搜索后,我对某些事情感到非常困惑。 嗯,java对重写方法使用动态绑定(bind),其原因是编译器不知道该方法属于哪个类,对吗
嘿,这是我在这里的第一篇文章,我对 CSS 世界还算陌生。我有2段代码 .subCatImg.subCatImg { float:none; } 它控制一个特定的图像,这段代码控制其他几个对象: im
我正在使用 bootstrap-sass 设计一个 rails web。 导入 Bootstrap ,覆盖 Bootstrap ***fieldset { padding: 0; margin:
如果我有这个 CSS: a:link { color: blue; } a:hover { color: red; } #someID a:link { color: black; } ID 下的链接
它是否同时代表重写和重载? B类 public class A{ void someMethod(){ System.out.println("Class A's some metho
我对 Java 很生疏,并且在以下方面遇到困难: public abstract class Animal implements Comparable { //enum stored else
我当前的项目是使用 ASP.Net MVC 构建的内部 Web 应用程序,我正在向其中添加身份验证。我有一个预构建的 HTTPModule,它创建了一个具有适当角色的 IPrincipal。如果用户未
如果我用 toString 的实际实现覆盖,与默认的 toString 实现相比,它会给出不同的结果。请帮助我理解为什么会出现不同的结果。 @Override public String toStri
我有一个动画功能... function flashGreen(e) { backg = e.css('backgroundColor');
我正在构建一个播放 HLS 视频的 NextJS 网站。 TLDR;如何覆盖 Safari 的原生 HLS 引擎?需要哪些播放器选项?我的(下面)没有用! 要在质量之间切换,我使用:https://g
我正在使用 AppConKit,到目前为止已经创建了一个带有几个屏幕的小型应用程序。现在我正在尝试更改自动生成Java代码。但是,每次我在 UI 中更改某些内容时,我在自动 Action 类(例如 L
我有一个用 CSS 设计的 HTML 页面。 DIV 和 SPAN 元素的选择器如下所示: ...#gr-bg1 { .... background-color: red; ....
我有这个 DOM 树: 现在我想要 并且他的子内容是隐藏的。我在 style.css 文件中添加了一个新的 .cs
我需要运行一个参数化测试,该测试按预期工作正常,但这里的问题是,在我们的框架中,我们有自己的自定义监听器类,它扩展 RunListener 并覆盖所有方法。但是当我将测试作为参数化测试运行时,没有任何
我有一个带有自定义 TableModel 的自定义 JTable,使用 JComboBox 作为单元格编辑器。 ComboBox 也有一个自定义的 ComboBoxModelComboBox 模型包含
我想在我的网站上添加传单 map 。不幸的是,我自己的 CSS 文件似乎在某些元素上覆盖了 Leaflet 的 CSS 文件。 map 的缩放按钮应如下所示: 但它们现在在我的主页上看起来像这样: 不
我是一名优秀的程序员,十分优秀!