概念上的区别很简单:
>声明:您声明存在某些东西,例如类,函数或变量。你不会说什么类或函数看起来像,你只是说它存在。
>定义:定义如何实现某些东西,如类,函数或变量,即你说它实际上是什么。
在Java中,两者之间没有什么区别,正式来说,声明不仅包括标识符,还包括它的定义。以下是我个人如何详细解释条款:
>类:Java不像C/C++那样真正分离声明和定义(在头文件和cpp文件中)。您可以在声明它们的位置定义它们。
>函数:当你写一个接口(或一个抽象类)时,你可以说你声明一个函数,而不定义它。然而,普通函数总是在它们被声明的地方定义。如果你喜欢的话,看函数的主体作为它的定义。
>变量:变量声明可能如下所示:
int x;
(你声明一个变量x存在,并且类型为int),如果它是一个局部变量或成员字段。在Java中,没有关于x定义的信息,除了可能存在什么值,它由它的赋值决定。
这里是我如何使用术语的粗略概述:
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; // / |
// |
} // |
} // /