Just curious about how jaxb works, I have a class annotated as follows:
@XmlRootElement(name = \"MyJaxb\")
Class MyJaxb
{
@XmlElement
protected S
It uses reflection. A protected or private field or method can be accessed using the reflection API (using setAccessible(true) on the appropriate Field or Method object).
Remember - public, protected and private are controls on default visibility, nothing more. They do not (and cannot) prevent access using reflection.