最近面试了一些java初级,中级程序员,现场出了一个很简单的题,看看他们对java常量,变量,静态变量的理解,结果很让我失望,代码如下:
public class TestVar {
/**
* JAVA基础,常量,变量,静态变量
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A();
A b = new A();
System.out.println("a.aa.value =" + a.aa);
System.out.println("b.aa.value =" + b.aa);
System.out.println("========================");
System.out.println("a.bb.value =" + a.bb);
System.out.println("b.bb.value =" + b.bb);
System.out.println("#########################");
a.bb = "654321";
System.out.println("a.bb.value =" + a.bb);
System.out.println("b.bb.value =" + b.bb);
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%");
b.bb = "123456";
System.out.println("a.bb.value =" + a.bb);
System.out.println("b.bb.value =" + b.bb);
}
}
class A {
public static final String aa = "123";// 定义一个常量aa
public static String bb = "321";// 定义一个静态变量bb
public String cc = "666";// 定义一个变量cc
}
输出结果:
a.aa.value =123
b.aa.value =123
========================
a.bb.value =321
b.bb.value =321
#########################
a.bb.value =654321
b.bb.value =654321
%%%%%%%%%%%%%%%%%%%%%%%%%
a.bb.value =123456
b.bb.value =123456
如此简单的一段代码,居然大多数人回答都是错误的,其中不乏工作三四年的java开发人员!
简单的理解:
常量:从jvm的角度来说它是在常量池中
静态变量:所有实例共享的一块内存,其中一个实例改变它的值其它的实例也随之改变
变量:每一个实例创建的时候都会给变量分配一块内存,创建一百个实例那就是一百块变量内存,创建一千个实例就是一千块变量内存
有空的童鞋,可以读下JVM虚拟机规范深入了解一下!
分享到:
相关推荐
java 常量与变量 java 常量与变量
java常量变量表达式、java常量变量表达式、java常量变量表达式、java常量变量表达式
java学习java中的常量和静态变量
常量 变量 详细实例代码 常量 变量 详细实例代码常量 变量 详细实例代码常量 变量 详细实例代码常量 变量 详细实例代码常量 变量 详细实例代码
第4章_JAVA之常量与变量.ppt 第4章_JAVA之常量与变量.ppt
静态变量的导入以及集合的运用,以及综合实例。
标识符、关键字、常量、变量、运算符标识符标识符、关键字、常量、变量、运算符、关键字、常量、变量、运算符
主要介绍了Java 常量与变量的区别的相关资料,并附实例代码帮助大家学习理解,需要的朋友可以参考下
Java 基本语法(二)——变量和常量 Java 基本语法(二)——变量和常量
day01 前言, HelloWorld, 常量, 变量 基础阶段课程介绍
初步整理的java常量变量的概念,十分粗浅,只是将简单的概念整理了出来,在使用过程中还需要慢慢累积和理解其中的更深含义
武汉大学C语言课件 第2章_词汇、常量和变量 武汉大学C语言课件\第2章_词汇、常量和变量
21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21.java常量.zip21....
常量、变量 课程目标 常量 1.字符串常量 字符串是指用单引号或双引号括起来的字符序列,分为ASCII字符串常量和Unicode 字符串常量。 ASCII字符串常量是用单引号括起来的,由ASCII字符构成的符号串。举例:‘hello’...
VC++中常量与静态变量及其存储位置的定义共2页.pdf.zip
【Java面试题】对String常量池的理解
java 定义静态常量
C语言 数据类型,常量,变量及运算符。
常量与变量练习题【华师大版】.doc
Python常量和变量 Python数字和运算符 Python内置函数 Python字符串 列表 元组 字典 集合 知识点:Python常量和变量 Python常量和变量 >>>x = 5 >>>type(x) #查看变量类型 输出结果: Python常量和变量 常量,是指不...