接口中的构造函数?

2023-12-22

我知道不可能在接口中定义构造函数。但我想知道为什么,因为我认为它可能非常有用。

因此,您可以确定类中的某些字段是为此接口的每个实现定义的。

例如,考虑以下消息类:

public class MyMessage {

   public MyMessage(String receiver) {
      this.receiver = receiver;
   }

   private String receiver;

   public void send() {
      //some implementation for sending the mssage to the receiver
   }
}

如果为此类定义一个接口,以便我可以拥有更多实现消息接口的类,那么我只能定义 send 方法,而不能定义构造函数。那么我怎样才能确保这个类的每个实现都确实有一个接收器集呢?如果我使用类似的方法setReceiver(String receiver)我不能确定这个方法是否真的被调用了。在构造函数中我可以确保这一点。


采取您所描述的一些事情:

“所以你可以确定类中的某些字段是为 该接口的每个实现。”

“如果为这个类定义一个接口,这样我就可以拥有更多 实现消息接口的类,我只能定义 发送方法而不是构造函数”

...这些要求正是抽象类 http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html是给。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

接口中的构造函数? 的相关文章

随机推荐

  • 如何在受限服务器上安装 Perl 模块?

    我有一个可以通过 ssh 连接的服务器 但仅此而已 否则它就完全与外界隔绝了 我正在尝试部署一些我编写的脚本 但它们有几个 Perl 依赖项 Params Validate XML Simple 等 我无法通过 yum 获取它们 因为我们的
  • preStart 钩子:给 actor 本身的消息

    假设我覆盖了preStart挂接并发送消息至self Class SomeActor extends Actor override def preStart Unit self SomeMessage 我可以期待吗SomeMessage将是
  • Android:TabLayout 不工作

    我正在尝试官方开发人员网站上的 TabLayout 教程 我没有复制粘贴它 也没有对其中的拼写错误进行一些细微的更改和更正 package com org example import android app TabActivity imp
  • 将希腊字符添加到轴标题

    我想在 R 中的条形图的 y 轴上添加一个希腊字符 问题是我需要将这个角色整合到标题中 我想写 Diameter of aperture mu m 在轴标签中 With ylab expression 我可以写希腊字符 ylab axis
  • 如何在类组件中使用useMediaQuery

    当使用函数作为组件时 您可以使用useMediaQuery来自 Material ui 的钩子 然而 它没有向您展示如何在类中使用这个钩子 所以我做了一些研究 发现你可以通过这样做在课堂上使用它 import React from reac
  • python 将字符串转换为参数列表

    我可以在 python 中将字符串转换为参数列表吗 def func args for a in args print a args a func a 2 b 3 I want the following work like above c
  • 如何使用 PHP 确定文件年龄?

    有什么方法可以使用 PHP 确定文件夹中图像的文件年龄 我想删除超过 2 小时的旧文件 是否可以在上传到文件夹时在其文件名中添加时间戳名称 如果是这样 请给我一个例子 thanks if time filemtime filename gt
  • 如何知道missModalViewControllerAnimated何时启动以及何时完成?

    有没有办法知道dismissModalViewControllerAnimated何时启动以及何时完成 例如viewWillAppear和viewDidAppear的习惯用法 与其他动画不同 这个动画似乎没有委托来告诉您 是的 而且比你想象
  • Sklearn Chi2 用于特征选择

    我正在学习 chi2 用于特征选择 并遇到了类似的代码this https chrisalbon com machine learning feature selection chi squared for feature selectio
  • 如何让 Mockito 模拟另一个文件中的常量?

    编辑 我正在测试的方法调用在另一个类中定义的这个常量 所以我想测试该方法是否独立于其他类定义常量的方式工作 嘲笑它是我能想到的第一件事 但我对如何以干净 安全的方式测试它的其他想法持开放态度 类 方法和变量名称已泛化 我正在尝试弄清楚如何编
  • 带 wamp 的国际扩展 php_intl.dll

    我想使用Moodle 但在安装过程中出现错误 应该安装并启用 php extension gt intl gt 以获得最佳结果 Intl 扩展用于改进国际化支持 例如区域设置感知排序 当我点击链接时 我收到上面的错误消息 http docs
  • C - 删除递归函数中的重复结果

    我必须创建一个递归函数 告诉您可以将多少美分变成零钱的方法 使用 25 美分 10 分 5 分 5 分 5 分硬币 到目前为止 我有一个递归函数可以做到这一点 但是它多次计算相同的组合 所以数字太大了 如何删除重复的组合 Code incl
  • PHP cURL 如何添加用户代理值或克服服务器阻止 cURL 请求?

    我正在传输一个对象数组 我有一个自己的服务器上的 cURL 客户端 提交者 and 监听别人服务器上的脚本 哪一个不在我的控制之下 然后我认为他们正在阻止传入的 cURL 请求因为当我用普通 HTML 测试时
  • 如何阻止无效用户的 git 提交?

    我正在运行一个gitlab https www gitlab com gitlab ce git 服务器 我的大多数用户都运行 3 个版本中的 1 个版本的 git git 1 7 1 centos 用户 git 1 7 9 其他人 git
  • Firefox 特定 CSS 导致 Visual Studio 中出现多个错误

    在 Visual Studio 2012 中 我尝试在我的外部样式表之一中使用以下 Firefox 特定 CSS moz document url prefix span4 ul li a focus border none span12
  • .Net 和 PHP Rijndael 加密不匹配

    起初我以为这是填充 因为 mcrypt 使用零填充 但我更改了 php 以使用 PKCS7 并得到了相同的精确结果 有人可以帮忙吗 我认为这与php中的填充有关 Net 的测试输出 Key d88f92e4fa27f6d45b49446c7
  • 跟踪图像中的一条线 MATLAB

    我正在编写一个程序来计算示波器输出的一些内容 但随着程序现在的运行 我只需将图像导入 MATLAB 然后使用 ginput 查找生成的曲线上各个区域的坐标 有没有一种方法可以让我拍摄这张图片 并让 ginput 或类似的东西自动沿着亮绿色曲
  • 同步 SQL Server 数据库

    我有一个新的想法和问题想问你 我们有一个本地 内部的 CRM 应用程序 我们使用 24X7 的应用程序类型 我们还在同一个 CRM 数据库 即 OLTP 上进行计费和工资管理 对于 SSRS 报告也进行同样的操作 看起来每当我们在前端进行操
  • 捕获异常 C#

    什么是正确的做法 捕获从最具体到最一般或相反的异常 如果我写 try catch Exception e catch NullReferenceException nre NullReferenceException nre 会被捕获吗 t
  • 接口中的构造函数?

    我知道不可能在接口中定义构造函数 但我想知道为什么 因为我认为它可能非常有用 因此 您可以确定类中的某些字段是为此接口的每个实现定义的 例如 考虑以下消息类 public class MyMessage public MyMessage S