【问题标题】:Java constructor scriptJava 构造函数脚本
【发布时间】:2012-12-08 18:19:08
【问题描述】:

有人知道基于构造函数创建 java 对象的现有脚本吗?

我正在考虑写一个,但决定看看是否已经存在,因为它看起来很简单。

基本上java对象的一个​​通用组件涉及到写

  1. public class nameofObject IDE 通常负责包语句和类语句。

  2. 创建私有变量

  3. 使用传入的那些变量的相同名称创建构造函数

  4. 制作 getter 和 setter

  5. 决定将私有变量赋值给构造函数内的局部变量,即

    public nameofObject(String a, String b, String c){
        this.a = a;
        this.b = b;
        this.c = c;
    }
    

这个过程是非常可预测的(非常适合脚本)并且可能很乏味(也适合计算机)

该示例只有 3 个变量,但对象可以有 20 个或数百个变量。

我还没有看到 IDE 或脚本根据其构造函数自动创建整个对象,但这会非常方便,我正在考虑用 python 或 ant 或 bash 编写脚本来执行此操作。

但在我重新发明轮子之前,你见过这样做的吗?

【问题讨论】:

  • 只是一个注释。拥有数百个变量的大型类通常会破坏single responsibility principle。拆分这样的类可能会导致更易于维护的代码。
  • 是的@DavidPärsson,但一个例子是 Twitter Tweet jSON 对象有 20 个变量。我可以想到一些客户端应用程序将其拆分,但最初我认为一个对象将必须保存所有它

标签: java object constructor declaration


【解决方案1】:

Eclipse 可以为您提供帮助,只要您为构造函数创建参数即可。

可以使用新建类向导 (1) 创建新类(带有包定义)。

Ctrl+1Command+1可以:

  • 当光标位于构造函数参数 (2, 5) 中时按下时,创建包含私有变量的字段分配

  • 在光标位于字段中时按下时创建 setter/getter (4)

这需要多次操作/按键,但非常快速方便​​,而且非常灵活。

【讨论】:

  • 这太棒了,一个 IntelliJ 示例和一个 Eclipse 示例!
【解决方案2】:

每个体面的 IDE 都应该在很大程度上帮助您。 IntelliJ IDEA 中的示例:

用构造函数创建一个类

IDE 显示未使用构造函数参数的警告。点击 Alt + Enter:

选择字段

应该将哪些构造函数参数转换为字段?

Getter 和可选的 setter

点击 Alt + Insert 类中的任意位置:

选择字段以创建 getter 和 setter

IntelliJ 还可以帮助您编写toString()equals()hashCode()


...或者考虑

case class NameOfObject(var a: String, var b: String, var c: String)

上面的声明创建了具有三个字段的NameOfObject 类,getter setter(使用@BeanProperty 遵循POJO 约定),toString()equals()hashCode() 已经实现。一行。

【讨论】:

  • 谢谢。我个人使用 Eclipse,所以我接受了另一个,但我将始终使用它作为参考,因为 intelliJ 可以做得更好
  • @CQM:没问题!我希望它也能成为未来读者的一个很好的参考。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 2021-07-24
  • 2013-03-21
  • 2011-09-09
  • 2010-12-11
相关资源
最近更新 更多