代码之家  ›  专栏  ›  技术社区  ›  lomaxx

Java是否具有自动属性?

  •  19
  • lomaxx  · 技术社区  · 15 年前

    在C中,您可以设置如下属性:

    public int CustomerId {get;set;}
    

    它设置了一个名为CuuleID的自动属性,但我想知道Java中是否有类似的东西?

    5 回复  |  直到 6 年前
        1
  •  26
  •   Jon Skeet    6 年前

    不,Java目前没有任何相似之处。Heck,Java中的属性主要是GET/SET方法的约定,而不是编译器在C语言中真正理解的。工具和库可以识别get/set模式,但语言不了解它们。(可能在将来的Java版本中会有更多的“正式”支持。

    一些类似Java的语言,如 Groovy 但是,确实具有自动属性生成功能。

        2
  •  12
  •   Joey    15 年前

    不,Java中没有这样的东西。

    然而,在Eclipse中,您可以使用source>生成getter/setter,为字段自动实现getter/setter方法。

        3
  •  6
  •   David Baakman    15 年前

    不是Java语言本身。但是,至少有一个库提供了这一点。见: http://projectlombok.org/ (或更具体地说: http://projectlombok.org/features/GetterSetter.html )

        4
  •  4
  •   Jorn    15 年前

    您也可以使用来自 Project Lombok

        5
  •  1
  •   Community Egal    7 年前
    • JavaFX属性可能也会引起兴趣:

    http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm

        IntegerProperty num = new SimpleIntegerProperty(666);
        System.out.println(num.getValue());
    
    • 另请参阅有关如何避免获取/设置锅炉板代码的相关问题:

    "Special attributes/properties" instead of getter/setter in Java to avoid boiler plate code