каркас отдыха django: ограничение полей, которые могут быть обновлены

Да, это правда. Оператор :: используется для ссылки на метод. Таким образом, можно извлекать статические методы из классов, используя его или методы из объектов. Тот же оператор может использоваться даже для конструкторов. Все примеры, упомянутые здесь, приведены в примере кода ниже.

Официальную документацию из Oracle можно найти здесь здесь .

Вы можете получить лучший обзор JDK 8 изменяет в эту статью . В разделе ссылки «Метод / конструктор» приведен пример кода:

interface ConstructorReference {
    T constructor();
}

interface  MethodReference {
   void anotherMethod(String input);
}

public class ConstructorClass {
    String value;

   public ConstructorClass() {
       value = "default";
   }

   public static void method(String input) {
      System.out.println(input);
   }

   public void nextMethod(String input) {
       // operations
   }

   public static void main(String... args) {
       // constructor reference
       ConstructorReference reference = ConstructorClass::new;
       ConstructorClass cc = reference.constructor();

       // static method reference
       MethodReference mr = cc::method;

       // object method reference
       MethodReference mr2 = cc::nextMethod;

       System.out.println(cc.value);
   }
}

18
задан seenu s 18 September 2015 в 14:14
поделиться