类B继承类A,均有同名属性a,B继承后调用a属性,直接调用则是本类中的a,通过super调用则是父类中的a
package maoqq.test;
public class MyExtendsTest {
public static void main(String[] args) {
B b=new B();
b.setA(7);
b.s();
}
}
class A{
protected int a=5;
public void s(){
System.out.println(a);
}
}
class B extends A{
protected int a =6;
public void setA(int a)
{
super.a=a;//修改父类中的a
// this.a=a;//修改本类中的a
}
public void s(){
super.s();
System.out.println(a);
}
}
输出结果:
7
6