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修饰符,则变成了静态初始化块。静态初始化块时类相关的,系统将在类初始化阶段执行静态初始化块,而不是在创建对象时才执行。

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

    .

  • 相关阅读:
    How to correctly handle ThreadLocal.get() returning null
    find_package()的查找*.cmake的顺序
    java SynchronousQueue
    cmake强烈推荐的是外部构建
    Golang学习内容
    百度云盘下载办法
    111
    logstash配置白名单决定去哪个index
    处理OSS上传失败一例
    用SQL语句查询zabbix的监控数据
  • 原文地址:https://www.cnblogs.com/my1204/p/4887687.html
Copyright © 2011-2022 走看看