zoukankan      html  css  js  c++  java
  • 作业

    此时输出结果为100 300.

     

    将field200放在int field之后结果变为200 300.

    执行类成员时,要看类定义时的值哪个排在前边,就执行那一个值。

    静态方法要想访问同一类中的非静态成员,需要将实例成员的值赋给静态成员,再用静态方法访问静态成员,进而访问实例成员。

     

    课后作业:

     

    当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。请自行编写示例代码验证以上结论:

    实验代码:

    package demo;

     

    public class Test {

     

        public static void main(String[] args) {

            // TODO 自动生成的方法存根  

            Grandson kd=new Grandson();

        }

     

    }

    class Dad

    {

        String post="dad";

        Dad()

        {

            System.out.println("dad="+post);

        }

       

    }

    class Son extends  Dad

    {

        String post="son";

        Son()

        {

            System.out.println("son="+post);

        }

       

    }

    class Grandson extends  Son

    {

        String post="grandson";

         Grandson()

        {

            System.out.println("son="+post);

        }

       

    }

    实验结果dad=dad;

    son=son;

    grandson=grandson;

    动手动脑:

    如果定义初始化块时使用了static修饰符,则变成了静态初始化块。静态初始化块时类相关的,系统将在类初始化阶段执行静态初始化块,而不是在创建对象时才执行。

    因此静态初始化块总是比普通初始化块先执行。

    .

    此时输出结果为100 300.

    将field200放在int field之后结果变为200 300.

    执行类成员时,要看类定义时的值哪个排在前边,就执行那一个值。

    静态方法要想访问同一类中的非静态成员,需要将实例成员的值赋给静态成员,再用静态方法访问静态成员,进而访问实例成员。

    课后作业:

    当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。请自行编写示例代码验证以上结论:

    实验代码:

    package demo;

     

    public class Test {

     

        public static void main(String[] args) {

            // TODO 自动生成的方法存根  

            Grandson kd=new Grandson();

        }

     

    }

    class Dad

    {

        String post="dad";

        Dad()

        {

            System.out.println("dad="+post);

        }

       

    }

    class Son extends  Dad

    {

        String post="son";

        Son()

        {

            System.out.println("son="+post);

        }

       

    }

    class Grandson extends  Son

    {

        String post="grandson";

         Grandson()

        {

            System.out.println("son="+post);

        }

       

    }

    实验结果dad=dad;

    son=son;

    grandson=grandson;

    动手动脑:

    如果定义初始化块时使用了static修饰符,则变成了静态初始化块。静态初始化块时类相关的,系统将在类初始化阶段执行静态初始化块,而不是在创建对象时才执行。

    因此静态初始化块总是比普通初始化块先执行。

    .

  • 相关阅读:
    Idea启动多服务时的Dashboard展示
    通过maven动态配置spring boot配置文件
    辅域抢夺五大角色命令
    H3C交换机堆叠技术
    KMS激活专用:所有Windows版本的GVLK密钥对照表
    Windows Server 2012从Evaluation版转成正式版
    u盘装系统无法引导
    [调优]彻底解决RDP连接过程缓慢的问题
    [排错]无法初始化 vGPU“grid_p40-1q”的插件“/usr/lib64/vmware/plugin/libnvidia-vgx.so”
    Virtual Apps and Desktops 7 1912 LTSR集成DB迁移到SQL Server 2016 AlwaysOn生产环境
  • 原文地址:https://www.cnblogs.com/my1204/p/4887687.html
Copyright © 2011-2022 走看看