java声明和定义_在Java中声明和定义有什么区别?

Java语言规范广泛地指定并使用术语“声明”,但除了作为普通的英语单词之外,它不使用“定义”。

我的证据是,“声明”一词在JLS目录和索引中出现了很多次,但是“定义”一词也没有出现在其中。

所以,当你看到有人在Java的上下文中使用“definition”这个词时,他们要么用的是非技术意义上的,要么就是用他们的术语来 。

在后一种情况下,它们可能与技术术语“声明”意思相同,或者也可能意味着其他意思。 如果他们的意思是别的,你需要问他们是什么意思。 如果他们已经定义了…足够公平,但这不是标准的术语。

在Java语境中,“定义”指的是variables被初始化的地方的答案是不可支持的。 在Java中,variables的初始化要么发生在声明点,要么发生在稍后的赋值。 在后一种情况下,除了赋值和/或初始化之外,不使用特殊术语…或需要…。 没有指定存储分配给variables的指定点。 事实上,在声明达成之前 ,variables本身的空间是分配的。

JLS规范中没有在Java中使用“声明”术语的原因是它不是必需的。

由于Java允许成员以任何顺序声明,所以不需要“前向声明”。

在Java中,variables所需的堆栈空间是编译时间常量,因此堆栈偏移量计算在编译时发生。 (请记住,在Java中,数组是对堆对象的引用,只有引用保存在堆栈帧中。)

Java处理字段或variables的“没有初始化的定义”的方式不需要单个“声明”点。 如果需要初始化一个variables,可能会在源代码中的多个点发生。

(Java中唯一可能使用声明和定义的地方是抽象方法,除了如果他们已经完成了,那么就不得不引用常规的方法声明作为定义…来保持一致性。会令人困惑,因此他们只是把“抽象”子expression式称为抽象方法的声明。

C和C ++以不同的方式处理这些事情,因此在其技术描述中确实需要不同的“声明”和“定义”术语。 我对“太阳词汇”的定义是,它们是以C / C ++为中心的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值