Почему Java-методы с переменными аргументами определены как временные?

Я играл с Java Reflection API и заметил, что методы с переменным списком аргументов становятся временными. Почему это так и что означает ключевое слово transient в данном контексте?

Из глоссария Java, transient :

Ключевое слово в языке программирования 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
21
задан AhmetB - Google 22 April 2013 в 22:37
поделиться