gpt4 book ai didi

java - Java中的声明和定义有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 13:51:12 24 4
gpt4 key购买 nike

我对这两个术语感到非常困惑。我检查了stackoverflow,C++也有类似的问题,但Java没有。

有人能解释一下java这两个术语的区别吗?

最佳答案

概念上的区别很简单:

  • 声明:您是在声明某物存在,例如类、函数或变量。你没有说任何关于类或函数的什么,你只是说它存在。

  • 定义:您定义某事物是如何实现的,例如类、函数或变量,即您说什么实际上是。

在Java中,两者差别不大,从形式上讲,一个声明不仅包括标识符,还包括它的定义。以下是我个人对这些术语的详细解释:

  • :Java 并没有像 C++ 那样真正分离声明和定义(在头文件和 cpp 文件中)。您在声明它们时定义它们。

  • 函数:当你写一个接口(interface)(或一个抽象类)时,你可以说你是在声明一个函数,而不是定义它。然而,普通函数总是在声明它们的地方定义。如果您愿意,可以将函数的主体视为其定义。

  • 变量:变量声明可能如下所示:

      int x;

(您声明变量 x 存在并且类型为 int),无论它是局部变量还是成员字段。在 Java 中,没有关于 xdefine 的信息,除了可能它应该持有什么值,这取决于对其的分配。

以下是我如何使用这些术语的粗略总结:

abstract class SomeClass {                // class decl.
// \
int x; // variable decl. |
// |
public abstract void someMethod(); // function decl. |
// |
public int someOtherMethod() { // function decl. |
// | class
if (Math.random() > .5) // \ | def.
return x; // | function definition |
else // | |
return -x; // / |
// |
} // |
} // /

关于java - Java中的声明和定义有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com