• 动手动脑总结


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

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

    2.以下代码输出什么结果

     

     输出结果: 100
           300

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

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

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

    静态初始化块的执行顺序:

    1.静态初始化块只执行一次
    2.创建子类型的对象时,也会导致父类型的静态初始化块的执行。

     


    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);
              }
    }
    
     
  • 相关阅读:
    数学学习合集
    萌萌的网络流~~
    2014西安全国邀请赛
    好题、趣题、麻烦题
    单调栈与单调队列
    字符串习题
    计算几何
    summer 2014 校队训练 嗷嗷待补之题
    2014多校联合训练第一场(组队训练)
    summer 2014 Round 4 解题报告
  • 原文地址:https://www.cnblogs.com/yongyuandishen/p/13890780.html
Copyright © 2020-2023  润新知