• Java基础-父类-子类执行顺序


    代码解析

    子类

    package com;
    
    /**
     * 子类
     * @author huage
     *
     */
    public class Test extends Test1{
        
    
        public static void main(String[] args) {
            new Test();//测试子类和父类重载关系和调用关系
        }
        
    
        public Test() {
            System.out.println("test");
            test("Test");
            super.test("Test");//父类中的方法被子类重载,所以必须super才能调用的父类中的方法执行
        }
    
        /**
         * 重载父类中的test方法
         */
        public void test(String name) {
            System.out.println("who:"+name+";test:test");
        }
        /**
         *  static方法不调用不会执行
         */
        public static void test1() {
            System.out.println("test static void ");
        }
    }

     父类

    package com;
    
    /**
     * 父类
     * @author huage
     *
     */
    public class Test1 {
        public Test1() {
            System.out.println("1");
            //被子类重写后,实例化子类时调用的为子类中的方法
            test("Test1");
            this.test("Test1");
            //test1();
        }
    
        /**
         * 当实例化的对象为子类时,子类中有重写此方法时,则在本来(父类)调用的为被子类重写的方法,子类调用也为子类重写的方法
         * 如子类中要调用父类中的方法需要使用super来调用
         * 自己本类中无法调用
         */
        public void test(String name) {
            System.out.println("who:"+name+";1:1");
        }
    
        /**
         * static方法不会被重写/覆盖,但是在子类中可以有相同的方法,在调用中自己this调用的是自己的方法
         */
        public static void test1() {
            System.out.println("test1 static 111");
        }
        
        /**
         * final方法不能被重写/覆盖,子类中不能有相同的方法(方法名,返回类型,参数相同的情况)
         */
        public final void test2() {
            System.out.println("test2 final 11111 ");
        }
    }

     执行情况

    1
    who:Test1;test:test
    who:Test1;test:test
    test
    who:Test;test:test
    who:Test;1:1

    总结说明 :

    子类继承父类,当实例化子类时,根据jvm装载顺序(由低向上)的加载方式,执行时先执行父类中的实例化,和其中的内容,在执行子类中的内容

     

  • 相关阅读:
    工作中,怎么做好规范
    每日一链
    模仿电子商务垂直菜单
    电脑不同的分辨率自适应显示
    怎样成为一位合格的程序员
    巅峰极客线上第一场ctf——RE
    恶意代码分析常见Windows函数
    巅峰极客线上第二场部分ctf
    恶意代码分析:虚拟网络环境配置
    0ctf2017 pwn babyheap
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4491111.html
Copyright © 2020-2023  润新知