Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Java 中有哪些常见变量?类只由变量组成吗?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

普通类的字段分为静态字段和实例字段;方法、构造器等代码中还会使用参数和局部变量。类本身不只由变量组成,还可以声明方法、构造器、初始化器和嵌套类型。回答这题时应区分“字段属于谁”与“某个名字在哪里有效”。

讲清原理

静态字段表达类状态,实例字段表达对象状态;局部变量只在相应作用域内使用,参数则由调用过程提供。它们在初始化、修饰符和访问规则上不同。

字段和数组元素有默认初始值;局部变量必须在读取前满足明确赋值要求。也不要简单说“基本类型都在栈上、对象都在堆上”,因为变量所处位置和存储值的类型是两个维度,具体优化也不由这种口号决定。

例子与易错点

class Counter {
    static int total;
    int value;
    int add(int step) {
        int next = value + step;
        value = next;
        return next;
    }
}
System.out.println(new Counter().add(2)); // 2

total、value 是字段,step 是参数,next 是局部变量。一个字段在方法内可见,不表示它就变成了局部变量;不要只看出现的位置来分类。

相关题:第 34 题、第 37 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。