zoukankan      html  css  js  c++  java
  • 每日日报之“动手动脑”作业三

    1.以下代码为何无法通过编译?哪儿出错了?

    答:如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

    2.使用上页幻灯片中定义的类,以下代码输出结果是什么?自行总结Java字段初始化的规律。


    输出结果:

    规律:

    “public int field=100;”将field初始化为100,直接调用InitializeBlockClass()输出的是100;

    “obj=new InitializeBlockClass(300);”是利用构造方法进行初始化,此时输出的值是300。

    3.请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。


    总结:所有的静态初始化块都优先执行,所有函数的执行顺序是:父类的静态初始化块 - 子类的静态初始化块 - 父类的初始化块 - 父类的构造函数 - 子类的初始化块 - 子类的构造函数。

    4.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

    public class test
    {
        
             int a=0;//类的实例变量,初始化值为1
             public static void method()//静态方法
             {  
               System.out.println("实例变量a="+new test().a);//在静态方法中访问类的实例变量需首先进行类的实例化
             }
             public static void main(String[] args)
             {
                     test.method();
                     test t = new test();
                     System.out.println("a="+t.a);
              }
    }

    结果如图:

     

  • 相关阅读:
    logdump命令使用
    centos 添加用户并赋予sudo权限
    ogg进程解析
    xxl-job-executor2.2.0添加为默认执行器(docker方式)
    mysql设置数据库默认编码和表名不区分大小写
    linux-curl工具使用
    docker通过dockerfile打java项目镜像
    通过shell检查服务并发送mail告警(shell监控脚本)
    esxi6.5安装教程
    Vmware Vcenter6.5 配置集群和主机
  • 原文地址:https://www.cnblogs.com/hfy717/p/13781875.html
Copyright © 2011-2022 走看看