在一个包里 子类继承父类中所有定义的非private的成员变量和普通方法唯有构造方法除外
成员变量与父类的同名时
{
1访问权限不相同时,以子类的权限为准。
比如父类是public int a =100
子类是private int a=200;
子类对象名.a 会造成编译错误
仍然可以将父类的成员变量隐藏起来
2数据类型不相同的情况以子类的为准
3常量修饰符不同
父类 int x =1 final int y = 2
子类final int x =100
int y =100
oa .x是错误的 不能编译的
oa.y是正确的 可以通过编译
}
这样写 输出的是子类 并且这两个是一个意思(System.out.println(a.defVar);)(System.out.println(a.getValue()))
public class A {
int defVar = 2;
}
public class B extends A{
int defVar = 100;
public int getValue(){
return defVar;
}
public static void main (String args[]){
B a =new B();
System.out.println(a.defVar);
System.out.println(a.getValue());///书138
}
}