У меня есть рабочее понимание Java. Я понимаю reserved words. Я также понимаю основы анонимных классов. Я читаю пример this Spark и вижу инструкцию «вызов». В чем смысл call
и @Override
? Я вижу, что вызов не является зарезервированным словом, но я также не вижу его в документах Spark или в инструкции import. Может ли кто-то сломать то, что происходит в этом коде? Я понимаю, что он передает анонимный класс в качестве параметра (правильно?) - и тогда этот абстрактный класс имеет анонимный метод, называемый «вызов» (справа?). Но что переписывается? Почему @Override
? Что такое call
?Что означает «вызов» в этом Java-коде
JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() {
@Override
public Tuple2<String, Integer> call(String s) {
return new Tuple2<String, Integer>(s, 1);
}
});
Это название функции. Посмотрите на интерфейс 'PairFunction' и узнайте об анонимных внутренних классах. – SLaks
Также http://docs.oracle.com/javase/7/docs/api/java/lang/Override.html –