# 实现接口或 abstract 类的方法

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

如果一个类被声明为实现某个接口或扩展具有抽象方法的类，则它必须实现该接口或类的方法。 IntelliJ IDEA 为已实现的方法创建存根，使用基本类型的默认返回值和对象的空值。

Procedure: 实现所需方法

1. 在主菜单中选择  `代码│实现方法`  或按下 `Ctrl+I` (Windows), `⌃ I` (macOS), `⌘ I` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ I` (macOS System Shortcuts), `Ctrl+I` (XWin), `Ctrl+I` (GNOME), `Ctrl+I` (KDE), `Ctrl+I` (Emacs), `Ctrl+I` (Sublime Text), `Ctrl+I` (Sublime Text (macOS)), `Ctrl+Shift+I` (Visual Studio), `⌃ I` (Visual Studio (macOS)), `Ctrl+I` (NetBeans), `Alt+Shift+P` (Eclipse), `Ctrl+I` (Eclipse (macOS))。 您还可以在类文件中的任意位置右键点击，然后点击   生成   `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Alt+Insert` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Alt+Insert` (Visual Studio), `⌘ ⌃ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS))，并选择   实现方法  。 或者将您的光标放在类上，然后按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))并选择   实现方法  。

2. 在打开的对话框中，选择要实现的方法（按住  `Shift`  或  `Ctrl`  键进行多选）。 该列表不包括已经实现的方法或无法从当前类访问的方法。 如有必要，请选择   复制 JavaDoc  复选框以插入已实现方法的 JavaDoc 注释。

![选择要实现的方法对话框](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ij_choose_methods_to_implement.png)

3. 点击   OK  。

## 更改方法主体

用于实现方法的 [代码模板](null)（  已实现的方法主体 ）接受来自  文件页眉 包含模板的预定义模板变量（例如  `${USER}` 、  `${DATE}`  等）

例如，请考虑以下文件模板：

```JAVA
#if ( $RETURN_TYPE != "void" )return $DEFAULT_RETURN_VALUE;#end
// TODO ($USER, $DATE):To change the body of an implemented method, use File | Settings - Editor -  File and Code Templates.

```

假设实现的接口包含两个方法，则此模板会扩展为以下代码：

```JAVA
@Override
public void hunt() {
    // TODO (wombat, 9/21/12): To change the body of an implemented method, use File | Settings - Editor -  File and Code Templates.
}
@Override
public String sniff() {
    return null;  // TODO (wombat, 9/21/12): To change body of implemented methods use File | Settings - Editor - File and Code Templates.
}

```

Procedure: 配置空值注解

可以为生成的代码配置 [为 null 性注解](annotating-source-code.html)。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `设置 | 编辑器 | 检查 | 可能的错误 | 为 null 性和数据流问题` 。

2. 点击   配置注释  ，然后在   用于代码生成的注解   中选择注解。

