当前位置: 首页 > 面试题库 >

如何强制在Java中重写方法?

国斌斌
2023-03-14
问题内容

我必须创建许多非常相似的类,它们之间只有一种方法不同。因此,我认为创建抽象类将是实现此目标的好方法。但是我要覆盖的方法(例如,方法foo())没有默认行为。我不想保留任何默认实现,而是强制所有扩展类都实现此方法。我该怎么做呢?


问题答案:

您需要在基类上使用 抽象 方法:

public abstract class BaseClass {
    public abstract void foo();
}

这样,您无需指定默认行为 而是可以强制从继承的非抽象类BaseClass指定的实现foo



 类似资料:
  • 问题内容: 我看到您可以通过将UTF-16指定为字符集,并且可以通过创建一个新的UTF-16解码器,但是我只能看到指定on 的构造函数的功能。 在读取Java中的任何流时,如何指定如何使用UTF-16? 问题答案: 输入流处理原始字节。当您直接从输入流中读取内容时,所得到的只是字符集无关的原始字节。 根据定义,将原始字节解释为字符需要某种转换:如何将原始字节转换为可读的字符串?“翻译”以字符集的形

  • 问题内容: 我有一个Runnable,它从如下所示的连接池中获得连接,并有60秒的时间对连接进行处理: 当线程在60s之后死掉时,我假定连接已返回到池中,并且当创建新线程时,可以重新使用该连接。但是当我列出我的网络连接时,随着创建更多线程,该列表会不断增长。如上创建的连接是否正确返回到池中,如果可以,我如何强制重新使用连接? 问题答案: 您实际上并没有使用连接池。A 不能直接使用。其目的是作为一个

  • 问题内容: 即使很棘手,也可以在Java中强制进行垃圾回收吗?我知道;,;但是他们只建议做GC。我该如何强制GC? 问题答案: 最好的选择是调用,这只是向垃圾收集器提示你要它进行收集。由于垃圾收集器是不确定的,因此无法强制立即收集。

  • 假设我在某个类上有一个同步方法: 我在不使用同步修饰符的情况下覆盖了它: 关于这个场景,我有几个具体的问题: 重写的方法也会隐式同步吗? 如果没有,-call会同步吗? 如果没有-call,会同步任何东西吗? 有没有办法强制覆盖方法使用(我注意到抽象方法定义或接口内的方法定义不允许同步关键字)?

  • 问题内容: 我在扩展基类并覆盖基类中的方法。但是当我称它为超类版本时。如何覆盖该方法? 我希望它打印“这是:孩子”,但它打印“这是:超级” 问题答案: 我找到了答案(从这里改编:https : //gist.github.com/Zodiase/af44115098b20d69c531)-基类也需要以ES6方式定义:

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: Mysql区分大小写 Mysql对于其LIKE比较忽略大小写。 您如何强制它执行区分大小写的LIKE比较? 问题答案: 用途: