• 作业


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

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

    .

  • 相关阅读:
    阿里云 CDN+OSS 解决方案
    一次完整的HTTP请求过程
    apache多站点配置中ServerAlias什么意思
    legend3---apache配置https
    legend3---Fiddler如何抓手机app的包
    Fiddler:增加IP列
    http请求报文格式和响应报文格式
    http请求头中Referer的含义和作用
    Chrome保存的HAR文件怎么打开
    Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt
  • 原文地址:https://www.cnblogs.com/my1204/p/4887687.html
Copyright © 2020-2023  润新知