Java-当面试中问到static关键字,该如何回答?

  假设,你在面试,面试官问你,请你简单介绍下你对static关键字的理解?

   是我,我可能就会直接说,static 是用来修饰静态常量,同时也可以修饰方法,其他的如果我们没有提前准备过,估计也说不出太多的东西,工作越久,就会越觉得,这个东西我好像知道,也可能会用,但是如果别人问你,你可能说不出个子丑寅卯来,不要否认,我们大多数程序员都是这样的,我也是,当然“大神”除外。

   针对这个问题,给出的回答,大致可以分为以下几个层次。

   1.回答,static 是用来修饰变量,修饰方法的,面试官会觉得你是合格的,当然仅仅就是及格。

   2.回答,static 修饰代码块,静态块相关,面试官会认为你不错。

   3.回答,static 静态内部类,相关,面试官会任务你很好。

   4.回答,static 静态导包相关,面试官会对你很满意。

  不要小看,一些基础的问题,虽然都很好回答,但是并不一定能够回答的好。

废话说完了,下面具体说说,static的相关知识点。

基本概念

    1.static 修饰的对象,方法,变量,方便在没有创建对象的情况下来进行调用。也就是说,被static修饰之后,不需要创建对象,也可以直接通过类名去调用它。

   2.java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内  部类才可以。

 3.被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于是对象。

 4.static关键字可以用来修饰代码块。

深入理解

  要想深入了解static关键字的深层原理,就要从JVM的内存说起了,这方面我也是在学习中,理解的不是很清楚,就不赘述了,感兴趣的可以深入研究,研究。

static的特点总结

1、static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。

2、static修饰的成员被所有的对象共享。

3、static优先于对象存在,因为static的成员随着类的加载就已经存在。

4、static修饰的成员多了一种调用方式,可以直接被类名所调用,(类名.静态成员)。

5、static修饰的数据是共享数据,对象中的存储的是特有的数据。

ok,我关于static关键字的,理解就这么多,感谢您的浏览,如果问题请留言指正,努力学习中。

 

 

 

你可能感兴趣的:(java学习)