属性没有重写 但可以覆盖 重新赋值
属性没有多态性 属性的值 取决于引用类型
方法可以重写 方法具有多态性
//继承就是 子类把 父类的 所有 属性 方法 搬到子类直接使用 但是private修饰的 子类没有使用权
//出现父类引用指向子类对象时 体现出属性不具备覆盖 方法可以被覆盖 说白了就是 运行时 方法看子类 属性看父类
class A
{
int a = 10;
public void show()
{
System.out.println("父类方法show().>>>>");
}
}
class B extends A
{
int a = 20; //B继承A后给变量a重新赋值
public void show()
{
System.out.println("子类方法show()覆盖了父类方法.>>>>"+
"子类this.a="+this.a+" 父类super.a="+super.a);
}
}
public class OverWrite {
public static void main(String[] args) {
A t = new B(); //父类引用指向子类对象
t.show();
System.out.println("属性不存在覆盖,父类变量 "+t.a);
A f = new A();
f.show();
}
}
输出
子类方法show()覆盖了父类方法.>>>>子类this.a=20 父类super.a=10
属性不存在覆盖,父类变量 10
父类方法show().>>>>