设为首页 加入收藏

TOP

Java中变量命名和引用变量的一个问题
2016-09-13 12:03:12 】 浏览:268
Tags:Java 变量 命名 引用 一个 问题

这次有两个主题,第一个太简单啦,就是Java中变量的命名规则,纯记忆性东西。第二个主题,就是讨论一下对象引用变量的一个注意点。


Java中变量命名和引用变量的一个问题


如果你对命名规则很熟啦,就直接看第二个内容吧。(上边的图稍微有点顺序紊乱啊)


一、Java中变量的命名规则


大多数语言的命名规则是相似的,只有一些微小的差别。


java中的关键字有:


  boolean   byte   char   double   float   int   long   short   public   private
  protected abstract final    native   static   strictfp   synchronized   transient   volatile   if
  else     do    while   switch   case   default for   break   continue   assert
  class   extends   implements   import   instanceof   interface   new package   super   this
  catch   finally   try   throw   throws   return   void   const   goto   enum


Java的命名规则就说这么多,变量除了注意命名规则之外,还要注意命名规范


二、对象引用变量的注意之处


基本变量没有这个毛病,通过代码来引入问题。


预测一下结果吧。OK,如你所料:


Java中变量命名和引用变量的一个问题


在看一段代码,如果预测结果正确,就不要往下看啦。


猜猜结果:


Java中变量命名和引用变量的一个问题


猜对没有,为什么没有更改d2的age,d2的age从1变成了10?


基本变量中存的就是实际值,而对象引用变量中存的是一个能找到实际值得数据(可以看成c语言中的地址),所以,当d1赋值d2时,只是把那个能找到实际对象的数据赋值给了d2,内存中只有一个Dog的实例,d1,d2指向同个变量。


Java中变量命名和引用变量的一个问题Java中变量命名和引用变量的一个问题


Java中变量命名和引用变量的一个问题


所以,d1改变object的值时,d2因指向相同的object,所以,结果就不言而喻啦。


这说得还远远不够,想深入了解,请找书看。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇TCP的阻塞和重传机制 下一篇常用的JavaScript设计模式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目