我正在维护一些Java 8代码,如下所示:
Class Entity {
protected Model theModel;
public Entity() {
init();
}
protected void init() {
this.theModel = new Model();
}
}
Class Model {
}
Class SubModel extends Model {
}
main {
Entity newEntity = new Entity() {
@Override
protected void init() {
this.theModel = new SubModel();
}
};
}
Run Code Online (Sandbox Code Playgroud)
代码目前正在编译并正确运行,但我现在需要更新它.
我的问题是:
init()在构造过程中,该方法的覆盖是如何工作的newEntity?到目前为止,我的研究表明Java无法动态覆盖方法 - 在此基础上无法覆盖,因为方法覆盖是按类而不是按对象.但是这段代码片段似乎表明Java可以在实践中做到这一点?
我想制作一个<a href链接,点击后会强制浏览器打开“另存为”对话框。HTML5download属性的使用应该在所有现代浏览器上都有这种行为。
当目标是外部托管的图像文件时,这不起作用。该<a href链接将导航到图像而不是下载它。(使用 Imgur 和 Tumblr 上托管的图像进行测试)

<a href="https://i.stack.imgur.com/440u9.png" download>
<img src="https://i.stack.imgur.com/440u9.png" width="200"/>
</a>
Run Code Online (Sandbox Code Playgroud)
例如,如果图像本地托管在您的服务器上,类似的 HTML 代码确实有效
<a href="440u9.png" download>
<img src="440u9.png" width="200"/>
</a>
Run Code Online (Sandbox Code Playgroud)
另一个例子 - 这将在W3Schools Tryit Editor 中工作,但如果您将 HTML 复制到另一个沙箱(如 JSFiddle)中将不起作用
<a href="https://www.w3schools.com/images/myw3schoolsimage.jpg" download>
<img src="https://www.w3schools.com/images/myw3schoolsimage.jpg" width="104" height="142">
</a>
Run Code Online (Sandbox Code Playgroud)
探讨的可能原因:
https:如果 URL 指向同一个域,则带有的 URL 很好,在 W3Schools Tryit Editor 中进行了测试http://...链接可以重定向到,https://...所以这可能是失败的原因,但https://...链接也不起作用constructor ×1
download ×1
href ×1
html ×1
inheritance ×1
java ×1
java-8 ×1
javascript ×1
polymorphism ×1