Я играл с API Java Reflection и наблюдал, что методы с вариационным списком аргументов становятся временными. Почему это и что означает ключевое слово transient
в этом контексте?
Из Java Glossary, переходный:
Ключевое слово на языке программирования Java, которое указывает, что поле не является частью сериализованной формы объекта. Когда объект сериализуется, значения его переходных полей не включаются в последовательное представление, тогда как значения его непереходных полей включены.
Однако это определение ничего не говорит о методах. Любые идеи?
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class Dummy {
public static void main(String[] args) {
for(Method m : Dummy.class.getDeclaredMethods()){
System.out.println(m.getName() + " --> "+Modifier.toString(m.getModifiers()));
}
}
public static void foo(int... args){}
}
Выходы:
main --> public static
foo --> public static transient