zoukankan      html  css  js  c++  java
  • java面试题(1):

    最近准备面一家新的公司。总结了一下之前的java面试题,具体内容如下,大家共同学习。

    class A{

      static int id0;  //静态成员变量id0;

      int  id1 ;    //非静态成员变量id1

      //静态代码块

      static{

      }

      //构造代码块

      {

      }

      //静态方法

      static void xxx(){

      }

      //非静态方法

      void xxxxx(){

      }

      //构造函数

      public A(){

      ....

      }  

    }

    对于一个java类,类加载的时候,首先是将字节码文件加载进入JVM虚拟机中去。静态代码块是在类加载的时候就进行初始化调用了,静态成员变量在加载的时候也是对所有的字段进行赋默认值。

    public class SingleTon{

      private static SingleTon singleTon = new SingleTon();

      private static int count1 ;

      private static int count2= 0 ;

      private SingleTon(){

      count1++;

      count2++;

      }

      public static SingleTon getInstance(){

        return singleTon;

      }

    }

    1.加载到虚拟机的时候,第一阶段是对静态成员变量赋默认值

    -----------------------------------------

      singleTon = null;

      count1=0;

      count2=0;

    2.静态代码块和静态成员变量的赋值操作,整个执行过程从上到下执行

    --------------------------------------------------------------------------------------------

      private static SingleTon singleTon = new SingleTon();

      上面这句话分为两个动作:1.static {  singleTon = new SingleTon();

        }

      [singleTon=new SingleTon();]

      count1=1;//调用了构造函数,所以count1=1;

      count2=1;//同样的调用了构造函数,所以count2=1

      [count2=0]

      count2=0;

    最后返回值为1,0

      

  • 相关阅读:
    训练计划
    LA_3942 LA_4670 从字典树到AC自动机
    HDU 6180 Schedule
    HDU 6153 KMP
    HDU 2087 HDU 1867 KMP标准模板题
    Struts2学习8--文件上传(单个文件上传)
    SSH错误之--Error getting property descriptor: null at com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor.getProperty
    Struts2学习7---集合类型的类型转换
    工具-windows命令--查看端口占用情况,关闭端口
    Struts2学习6—OGNL (1)
  • 原文地址:https://www.cnblogs.com/stone-learning/p/9257296.html
Copyright © 2011-2022 走看看