C# also uses Reflection.
Theoretically any system that uses pre-complied pseudo code that is executed by a virtual machine could allow reflection....
Yes, C# uses reflection and reflection is a useful and valid tool.
Whether it is C# or Java, the use of reflection is only as secure as the knowledge and attention that the programmer or team that uses it gives to securing it as well as judicious use of the reflection class.