当前位置: 首页 > 面试题库 >

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

沃侯林
2023-03-14
问题内容

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

有人可以解释一下Java的两个术语之间的区别吗?


问题答案:

概念上的区别很简单:

  • 声明 :您 声明的 是某些东西,例如类,函数或变量。你不说任何事情 什么 是类或函数的样子,你刚才说,它的存在。

  • 定义 :您 定义 某种事物的实现方式,例如类,函数或变量,即您说的 实际的东西。

在Java中 ,两者之间几乎没有什么区别,从形式上来说,声明不仅包括标识符,还包括其定义。这是我个人详细解释这些术语的方式:

  • :Java并没有像C / C ++那样将声明和定义真正分开(在标头和cpp文件中)。您在声明它们的位置定义它们。

  • 函数 :编写接口(或抽象类)时,可以说是在声明函数而不定义它。但是,普通功能始终在声明它们的位置定义。如果愿意,请参见函数主体作为其定义。

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

    int x;
    

(您声明一个变量x存在并且具有type 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;                    // /                         |
                                          //                           |
    }                                     //                           |
}                                         //                          /


 类似资料:
  • 问题内容: 两者的含义使我难以理解。 问题答案: 甲声明引入的标识符和描述了它的类型,无论是类型,对象,或功能。声明是编译器需要接受对该标识符的引用的内容。这些是声明: 甲定义实际实例化/器具该标识符。这是什么样的连接器需要以链接引用这些实体。这些是与上述声明相对应的定义: 可以使用定义代替声明。 可以根据需要多次声明标识符。因此,以下内容在C和C ++中是合法的: 但是,必须定义一次。如果忘记定

  • 看了问题,知道了声明和定义的区别,那么是不是说定义等于声明加初始化呢?

  • 本文向大家介绍Java中定义和声明之间的区别。,包括了Java中定义和声明之间的区别。的使用技巧和注意事项,需要的朋友参考一下 对于定义和声明之间的区别,应该首先考虑其字面含义,其中包括声明或声明的“声明”方法,而描述某些实体的“定义”方法。 以下是定义和声明之间的重要区别。 序号 键 声明 定义 1 概念 声明的概念包括通知编译器有关变量的属性,例如变量的名称,其持有的值的类型以及初始值(如果有

  • 在TypeScript中,当创建.d.ts源代码声明文件时,哪个更可取,为什么? 或 我能说出的区别是接口不能有静态方法,所以你必须为此使用一个类。两者都不产生任何JS输出,所以也许没关系?

  • %1有编译器错误,而%2是合法的。 为什么变量声明的类型必须与我们传递给对象类型的类型匹配(不允许派生类型)?我使用的数组如下所示,这是完全正确的: 有人能告诉我为什么集合必须声明为条件2吗?谢谢

  • 问题内容: 模块声明中的 require 和 require静态 模块语句之间有什么区别? 例如: 问题答案: 一条子句表示在编译和运行时需要所需的模块。因此,当模块系统在模块解析(处理模块描述符和解决依赖关系的阶段)期间遇到此类子句时,它将搜索可观察模块(JDK和模块路径中的模块)的范围,并引发错误如果找不到模块。 一个从句表示的依赖是在运行时可选。这意味着在编译时,模块系统的行为完全如上所述。