《Java程序员面试秘笈》—— 面试题9 对于类的静态变量的理解

面试题9 对于类的静态变量的理解

运行下面程序,请选择输出结果。

public class x {
  private static int a;
  public static void main(String[] args) {
    modify(a);
    System.out.println(a);
  }
  public static void modify(int a) {
    a++;
  }
}

(a)0

(b)1

(c)2

(d)3

考点:考察求职者对于类的静态变量的理解。

出现频率:

【面试题解析】类的静态变量a在modify()方法中并没有被改变,而是改变了modify()方法的参数。如果将上述代码修改如下:

public class x {
  private static int a;
  public static void main(String[] args) {
    modify(a);
    System.out.println(a);
  }
  public static void modify(int a) {
    a++;
  }
}
那么输出结果为1,但是面试题中静态变量a的值并没有改变,所以应该输出为0。

参考答案:(a)。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-09-24 01:28:48

《Java程序员面试秘笈》—— 面试题9 对于类的静态变量的理解的相关文章

《Java程序员面试秘笈》—— 面试题11 使用jar命令

面试题11 使用jar命令 Java程序员面试秘笈 请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构. 考点:对于Java程序员来说,更多情况下是使用的集成Java开发工具,例如JBuilder.Eclipse等,而对于最基本的Java编译和常见的命令行工具往往都不熟悉.这个面试题主要考察求职者对于Java命令行基本工具的使用,从而了解求职者对Java编程的熟悉程度. 出现频率: [面试题解析]熟练的Java开发者应该掌握常用的Java命令行工具.求职者应该熟练掌握ja

《Java程序员面试秘笈》—— 面试题12 如何执行mian()方法

面试题12 如何执行mian()方法 Java程序员面试秘笈 利用Java SDK中哪一条命令能够执行test的main()方法? (a)java test (b)javac test (c)java test.java (d)java test.class (e)java test.main 考点:考察求职者对java命令的熟悉程度. 出现频率: [面试题解析]求职者容易出现的错误是选择了(d).实际上,java命令后面只需要class文件的名称就可以,不用加入.class全名.如果使用jav

《Java程序员面试秘笈》—— 面试题10 类继承的建模表示方法

面试题10 类继承的建模表示方法 Java程序员面试秘笈根据图1.4的UML表示,选择一个正确的描述. (a)Box类是MyBox类的子类. (b)Box类是MyBox类的父类. (c)Box类和MyBox类是聚合关系. (d)Box类和MyBox类是一对多关系. 考点:该面试题貌似简单,在实际的面试中回答正确的却并不是很多,其实只是考察求职者对类的继承的建模表示方法的掌握程度. 出现频率: [面试题解析]Java中有两种机制来保证根据现有的类来构造新的类,那就是继承和聚合.例如,有一个盒子的类

《Java程序员面试秘笈》—— 面试题6 命名Java变量

面试题6 命名Java变量 请命名以下变量. 考点:该面试题主要考察求职者的编程习惯,良好的编程习惯是一个优秀的Java开发者的必备素质.求职者应该掌握基本的Java命名规范,这样编写出来的代码才能做到够规范和易读. 出现频率: [面试题解析]在面向对象编程中,对于类.对象变量.方法等的命名是非常有技巧的,例如,大小写的区分,使用不同字母开头等.但究其本,追其源,在为一个资源命名时,应该本着描述性和唯一性两大特征,才能保证资源之间不冲突,并且便于记忆. 1.包的命名 Java包的名字都是由小写单

《Java程序员面试秘笈》—— 面试题1 简单描述Java开发包的种类

面试题1 简单描述Java开发包的种类 考点:考察求职者对于Java体系的认识,属于Java程序员的必备知识. 出现频率: [面试题解析]随着Java语言的成长和壮大,Java的开发包根据用途的不同已经分为Java EE.Java SE和Java ME 3个开发包,求职者需要列出名称,并具体描述每个开发包的用途. 参考答案: Java SDK的版本分类如下所述. Java ME:(Java Platform Micro Edition)一种以广泛的消费性产品为目的的高度优化的Java运行环境,包

《Java程序员面试秘笈》—— 面试题8 在Java中,对象是如何传递消息的

面试题8 在Java中,对象是如何传递消息的 请选择一个正确答案. (a)对象通过彼此的变量来传递消息. (b)对象通过修改彼此类的静态变量来传递消息. (c)对象通过调用彼此的实例方法来传递消息. (d)对象通过调用彼此类的静态方法来传递消息. 考点:考察求职者对于对象传递消息的理解. 出现频率: 面试题解析Java对象之间的消息传递,是通过调用相互的实例方法来实现的,而不是静态方法. 参考答案:(c). 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的

《Java程序员面试秘笈》—— 面试题4 列出你熟悉的Java开发工具

面试题4 列出你熟悉的Java开发工具 考点:该问题一般会在面试时出现,主要是看求职者是否熟悉常用的Java开发工具,因为一个项目开发团队会使用一种固定的开发工具,只有求职者能够熟练使用该工具,才能够快速融入该团队. 出现频率: [面试题解析]Java作为一种跨平台开发语言,由于其开源性,各个公司和社区组织,都推出了各自的Java开发工具,这也是Java开发体系同微软的开发体系的区别之一.不同的项目开发团队一般都有自己熟悉的开发工具或者开发环境,求职者只有熟练使用不同的开发工具,才能适应项目开发

《Java程序员面试秘笈》—— 面试题2 Java语言的特性有哪些

面试题2 Java语言的特性有哪些 考点:考察求职者对Java语言的认识. 出现频率: [面试题解析]需要求职者列出Java语言的几个重要特点.答题时只需要写出特点,一般不需要详细解释.下面参考答案中给出了相应的详细描述,供读者参考,同时加强理解. 参考答案: Java语言是一个面向对象的程序设计语言.Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其他特性,如支持并发程序设计.网络通信和多媒体数据控制等.主要特性如下. (1)Java语言是简单的.一方面,Java语言的语法

《Java程序员面试秘笈》—— 面试题3 Linux操作系统下如何安装Java SE开发环境

面试题3 Linux操作系统下如何安装Java SE开发环境 考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验.Linux环境下的Java安装是一个基础问题. 出现频率: [面试题解析]该问题有两个关键点,一个是Linux版本Java SDK的文件类型,另外一个是Linux环境变量的配置. 参考答案: Oracle发布的Linux操作系统Java包有JDK和JRE两种版