码迷,mamicode.com
首页 > 编程语言 > 详细

java 实例化是调用了子类重写方法

时间:2016-11-18 12:05:57      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:stat   fat   generate   abstract   void   code   abs   string   rom   

java 实例化时调用了抽象方法或者class里面某个方法,如果子类有重写改方法,实际运行的是子类重写方法

package auto.test;

//抽象父类
public abstract class Father {
    public Father() {
        // TODO Auto-generated constructor stub
        oupPut();  //实例化时调用,子类有,就调用子类方法,子类没有,就调用父类方法
    }
    //父类抽象方法,让子类重写
    public  void  oupPut(){
        System.out.println("from Father class");
    };
}
//子类A
class ChildA  extends Father{
    //重写父类方法
    @Override
    public  void  oupPut(){
        System.out.println("from childA class");
    }
}
// 子类B
class ChildB extends Father {
    //重写父类方法
    @Override
    public  void  oupPut(){
        System.out.println("from childB class");
    }
}
class ChildC extends Father {
    //没有重写父类方法

}

执行测试类
public class TestClaass {

    public TestClaass() {
        // TODO Auto-generated constructor stub
    }
    public static void main(String arg[]){
        Father a = new ChildA();
        Father b = new ChildB();
        Father c = new ChildC();
    }
}

运行结果:

from childA class
from childB class
from Father class

java 实例化是调用了子类重写方法

标签:stat   fat   generate   abstract   void   code   abs   string   rom   

原文地址:http://www.cnblogs.com/testway/p/6076982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!