Java中定义与声明的区别是什么?

 我来答
京功浪养13
2021-10-20
知道答主
回答量:3
采纳率:0%
帮助的人:1242
展开全部
  Java中,我们应该知道最基本的就是定义变量和声明变量了,定义与声明这两者是有区别的,小编在此整理了Java中定义与声明的区别,供大家参阅,希望大家在阅读过程中有所收获!
  定义和声明的定义区别
  1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
  2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
  声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
  而定义是说:“在这里建立变量”或“在这里建立函数”。它为名字分配存储空间。无论定义的是函数还是变量,编译器都要为它们在定义点分配存储空间。
  对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。
  总之就是:把建立空间的声明成为“定义”,把不需要建立存储空间的成为“声明”。
  基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。
  下面小编给大家举个例子说明一下。
  例如:类A
  如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
  如果以后a=new A();这就是初始化,分配了空间。
  需要注意的是我们声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间。
  用static来声明一个变量的作用有二:
  (1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。
  (2)外部变量用static来声明,则该变量的作用只限于本文件模块。
  定义和声明的具体区别
  所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
  声明有2重含义:
  (1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
  (2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
  定义和声明最重要区别
  定义创建对象并为这个对象分配了内存,声明没有分配内存。
clsacesl
高粉答主

2021-10-19 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.1万
采纳率:64%
帮助的人:1.1亿
展开全部
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给他取上一个名字,这个名字就是我们常说的变量名或对象名。所谓声明就是告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。告诉编译器,这个名字已经被预定,别的地方再也不能用它来作为变量名或者对象名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coocom
2021-10-19 · TA获得超过1374个赞
知道大有可为答主
回答量:1.5万
采纳率:7%
帮助的人:754万
展开全部
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式