• 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

      

  • 相关阅读:
    Django Rest framework基础使用之Request/Response
    Django Rest framework基础使用之 serializer
    python基础(一)
    python实现本地图片上传到服务区
    开发中遇到的问题记录
    九、xadmin菜单分组管理
    leetcode-7-整数翻转
    leetcode-6-Z 字形变换
    leetcode-5-最长回文子串
    leetcode-3-无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/stone-learning/p/9257296.html
Copyright © 2020-2023  润新知