sentence: in object oriented programming languages such as java , reflection allows inspection of classes , interfaces , fields and methods at runtime without knowing the names of the interfaces , fields , methods at compile time .