Shadowing fields with a local variable is a bad practice that reduces code readability: it makes it confusing to know whether the field or the variable is being used.
class Foo { public int myField; public void doSomething() { int myField = 0; ... } }