package com.briup.day04;
/**
* 子类重写父类的方法后,再创建子类对象,就一定会调用子类重写的方法
*/
/*
* 父类私有属性和方法其实可以被继承,但继承后有一个筛选的过程,使得子类不能访问父类的私有属性和方法。
* 1)私有属性可以通过父类中定义公共的get/set方法访问;
* 2)私有方法可以通过在父类中定义公共方法,在公共方法中调用私有方法,
* 子类可以通过继承这个公共方法访问到父类的私有方法。
*/
public class Test2 {
public static void main(String[] args) {
//父类引用指向子类对象
A a = new B();
B b = new C();
a.show();//子类B重写A的show2,调用子类B的show2
b.show();//子类C重写B的show2,调用子类C的show2
/*
* B...
* C...
*/
}
}
class A {
public void show() {
show2();//方法里面调用方法
}
public void show2() {
System.out.println("A...");
}
}
class B extends A {
public void show() {
show2();//方法里面调用方法
}
public void show2() {
System.out.println("B...");
}
}
class C extends B {
public void show() {
super.show();//调用父类B的show方法,show方法里是show2,但会调用C重写的show2
}
public void show2() {
System.out.println("C...");
}
}
corejava_子类重写父类
最新推荐文章于 2024-11-04 22:26:34 发布