最近考试出了一个很简单的题,看看他们对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的角度来说它是在常量池中
静态变量:所有实例共享的一块内存,其中一个实例改变它的值其它的实例也随之改变
变量:每一个实例创建的时候都会给变量分配一块内存,创建一百个实例那就是一百块变量内存,创建一千个实例就是一千块变量内存

java常量,变量,静态变量的理解的更多相关文章

  1. 常量和静态变量会先载入内存后在进行执行php代码

    static $test=1;//在php执行前就已经写入内存$test++;var_dump($test);static $test=10;//在php执行前就已经写入内存var_dump($tes ...

  2. java入门---变量类型&类变量&局部变量&实例变量&静态变量

        在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下:     type identifier [ = value][, identifier [= value] ...] ; ...

  3. #region 常量和静态变量静态类readonly

    #region 常量和静态变量静态类readonly //---------------------------------------------------------------------- ...

  4. php类相关知识----类常量,静态变量

    类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...

  5. Java中的静态变量、静态方法、静态代码块

    转载自http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)静态方法(1)在Java里,可以定义一个不需要创建对 ...

  6. java中的静态变量、静态方法与静态代码块详解与初始化顺序

      我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程.其中静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  7. JAVA类变量(静态变量)

    类变量也称为静态变量,在类中以static关键字声明,但必须在方法.构造方法和语句块之外. -无论一个类创建了多少个对象,类只拥有类变量的一份拷贝. -静态变量除了被声明为常量外很少使用.常量是指声明 ...

  8. Java笔记_静态变量和实例变量的区别

    这里简单做一下笔记,区分Java全局变量里的静态变量与实例变量. 1.Java里的全局变量 首先了解Java里的全局变量,也叫成员变量. 特点: (1).一个类中既不在方法体内,也不在程序块内定义的变 ...

  9. java中的静态变量,静态方法与静态代码块详解

    java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

随机推荐

  1. SQL-47 如何获取emp_v和employees有相同的数据?

    题目描述 存在如下的视图:create view emp_v as select * from employees where emp_no >10005;如何获取emp_v和employees ...

  2. ES6和ES5变量声明的区别(var let const)

    // es5的语法与es6的语法区别 // var let const console.log(name);//undefine,不会报错,因为变量声明会提到作用域的最前面 var name=&quo ...

  3. Rsync,Linux日志及Screen工具介绍

    第十六次课 Rsync,Linux日志及Screen工具介绍 目录 一.rsync工具介绍 二.rsync常用选项 三.rsync通过ssh同步 四. rsync通过服务同步 五.linux系统日志 ...

  4. Java语法基础学习DayTen(集合续)

    一.集合 1.Set:存储的元素是无序的.不可重复的 (1)无序性:无序性不等于随机性,无序指的是元素在底层存储的位置是无序的. (2)不可重复性:当向Set中添加相同的元素时,后添加的元素不能添加进 ...

  5. python day20面向对象-属性,类方法,静态方法

    一.属性的初识 # class Person: # # def __init__(self,name,hight,weight): # self.name = name # self.__hight ...

  6. 剑指Offer 16. 合并两个排序的链表 (链表)

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目地址 https://www.nowcoder.com/practice/d8b6b4358 ...

  7. 网易2018校招内推编程题-堆棋子-C++实现

    链接:https://www.nowcoder.com/questionTerminal/27f3672f17f94a289f3de86b69f8a25b来源:牛客网 [编程题]堆棋子 热度指数:14 ...

  8. ubuntu16.04x下搜狗输入法无法输入中文

    使用如下命令: cd ~/,config find . -name sogou* 找到sogou-qimpanel ,sudo rm -r ./sogou-qimpanel删除 find . -nam ...

  9. maven项目pom.xml第一行报错

    maven项目pom.xml第一行报错 这是第一行:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi= ...

  10. MAC如何生成SSH key与GitHub关联

    一.检查 SSH key 是否存在 在终端输入如下代码: ls -al ~/.ssh 如果没有,终端显示如下: No such file or directory 如果有,终端显示如下: ➜ ~ ls ...