codecamp

IntelliJ IDEA如何生成构造函数和Delegation方法

IntelliJ IDEA 生成构造函数

构造函数生成器可以使用参数创建构造函数。这些参数的值被分配给字段变量。

生成的构造函数在代码样式设置的 "成员顺序" 部分中定义的点处插入。默认情况下,代码生成器将构造函数放置在字段之后。

下面是生成构造函数的具体步骤:

  1. 在主菜单上选择代码|生成(Code | Generate)。或者,右键单击编辑器,然后在上下文菜单中选择 "生成",或使用键盘快捷方式 Alt+Insert 。
  2. 在编辑器显示的弹出列表中,选择“构造函数”选项。
  3. 使用 Ctrl 和 Shift 键进行多项选择。

    如果有关的类包含了字段,IntelliJ IDEA 建议选择要由构造函数初始化的字段。在 "选择要按构造函数初始化的字段" 对话框中,选择所需的字段。
  4. 单击“确定”。

示例如下:

public class MyClass {
    int aInteger;
    double bDouble;

public MyClass(int myAIntegerParam, double myBDoubleParam) {
    aInteger = myAIntegerParam;
    bDouble = myBDoubleParam;
    }
}

IntelliJ IDEA 生成 Delegation 方法

您可以创建将行为委派(delegate)给类的字段或方法的方法。这种方法使得您可以在不直接公开该字段或方法的情况下访问字段或方法的信息。

下面介绍了创建 Delegation 方法的具体步骤:

  1. 执行以下操作之一:
    • 在主菜单上选择代码| 生成(Code | Generate)。
    • 右键单击编辑器,在上下文菜单中选择“生成(Generate)”
    • 按 Alt+Insert。
  2. 在编辑器中显示的弹出列表中,选择 “Delegate Methods”。在"选择要为其生成委托的目标" 对话框中,显示要委派的对象的列表。
  3. 选择目标字段或方法,然后单击“确定”。“选择生成授权方法” 对话框出现,并且显示要委派的方法列表。
  4. 选择所需的方法。对于多个选择,使用 Ctrl 和 Shift 键。单击“确定”。

下面是一个示例:

Currency 类有一个 calendar 类型的字段 Calendar。要从 Currency 类中访问 Calendar 类的某些功能 ,我们需要创建一个新的方法来将请求委派给 calendar。

Calendar calendar;
public int get(int i) {
    return calendar.get(i);
}
IntelliJ IDEA实时模板怎么使用
equals()和hashCode()方法如何生成
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }