zoukankan      html  css  js  c++  java
  • java 实例化是调用了子类重写方法

    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

  • 相关阅读:
    iOS NSDictionary或NSArray与JSON字符串相互转换
    iOS 如何用Xib画一个Button
    iOS 你不知道的字符串用法
    IOS ScrollView pagingEnabled移动指定偏移
    TableView行缩进 自定义cell时候
    支付宝回调
    微信支付回调
    关于Bundle传递消息
    关于Handler
    ExpandableListView
  • 原文地址:https://www.cnblogs.com/testway/p/6076982.html
Copyright © 2011-2022 走看看