多态(初阶【子类覆盖父类方法】)

来源:互联网 发布:通于心术 知类在穷 编辑:程序博客网 时间:2024/05/17 02:51
class BaseClass {
public int book = 6;
public void base() {
System.out.println("调用父类方法");
}
public void test() {
System.out.println("被子类覆盖的父类方法");
}
}


public class Subclass extends BaseClass {
public void test() {
System.out.println("覆盖父类方法的方法");
}
public void sub() {
System.out.println("子类普通方法");
}
public static void main(String[] args) {
BaseClass bc = new BaseClass();
System.out.println(bc.book);//输出6
bc.base();        //调用子类父类方法
bc.test();
Subclass sc = new Subclass(); 
sc.sub();          //调用子类(继承了父类)
sc.test();                //同名方法重写
BaseClass cs = new Subclass();        //类型不同
cs.test();                     //执行的是子类的方法,因为同名方法子类覆盖了父类
//cs.sub(); //不能调用,因为对于cs本身为父类,他所能看到的只是子类从父类那里继承过来的成员变量
cs.base();                     //父类的普通方法
}
}
0 0
原创粉丝点击