O que isso para (:) significa em Java?

package MyTest;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;

class Person {
...
}

class Student extends Person {
...
}

public class IntrospectorDemo {

    /**
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        BeanInfo info = Introspector.getBeanInfo(Student.class, Person.class);
        PropertyDescriptor[] props = info.getPropertyDescriptors();
        for (PropertyDescriptor prop : props) {
            System.out.println(prop.getName() + "::" + prop.getPropertyType());
        }
    }

}

Estou aprendendo o código acima, que me diz o que é introspector e o que é stopClass. Mas eu não entendo o que isso significa?for (PropertyDescriptor prop : props) ? Normalmente, um for () deve ser assim:for(i=0;i<100;i++) Alguém poderia por favor ajudar a explicar mais? Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion