小编rad*_*ast的帖子

Java - (匿名子类)在对象实例构造期间重写方法

我正在维护一些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)

代码目前正在编译并正确运行,但我现在需要更新它.

我的问题是:

  1. init()在构造过程中,该方法的覆盖是如何工作的newEntity
  2. 对象构造函数语句中包含此方法覆盖的正确术语是什么?

到目前为止,我的研究表明Java无法动态覆盖方法 - 在此基础上无法覆盖,因为方法覆盖是按类而不是按对象.但是这段代码片段似乎表明Java可以在实践中做到这一点?

java polymorphism inheritance constructor java-8

7
推荐指数
2
解决办法
935
查看次数

href 标签下载属性 - 如何使其强制下载外部托管的图像?

我想制作一个<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 的链接:出于安全考虑,不能以这种方式使用:不,https:如果 URL 指向同一个域,则带有的 URL 很好,在 W3Schools Tryit Editor 中进行了测试
  • 服务器端重定向:一个http://...链接可以重定向到,https://...所以这可能是失败的原因,但https://...链接也不起作用
  • 特定主机抑制服务器上的下载属性? …

html javascript download href

6
推荐指数
1
解决办法
7270
查看次数