• 作业


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

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

    .

  • 相关阅读:
    360给腾讯造的盗梦空间
    C 语言 运算符优先级
    CorelDraw, Adobe Illustrator 转换到 Photoshop 形状路径
    用户体验经典解释
    禁用Windows XP的自动播放功能
    ObjectiveC ARC下的内存管理(一)
    ARC下的内存管理(二)对象及成员的引用关系
    天天撞墙
    PS: 操作不实时显示的解决办法
    摩托罗拉 Milestone新手刷机教程
  • 原文地址:https://www.cnblogs.com/my1204/p/4887687.html
Copyright © 2020-2023  润新知