jeudi 15 septembre 2016

Sicherheitslücke? Reflection sieht members, die nicht sichtbar sein sollten?!

jeudi 15 septembre 2016
Hallo,

folgendes Problem:
Code (Text):

abstract class A {
  private int x;
  public int getX() { return x; }
}

class B extends A {
  private int y;
  public int getY() { return y; }
}

// main
A b = new B()
for (Field f : b.getClass().getDeclaredFields()) {
  System.out.println(f); // ZEIGT private int y an!
}
 
Warum sehe ich hier y?! M.M. sollten nur die Fields/Methoden der Basisklasse sichtbar sein. Was verstehe ich hier falsch?

Sicherheitslücke? Reflection sieht members, die nicht sichtbar sein sollten?!

0 commentaires:

Enregistrer un commentaire

 
◄Design by Pocket