参数,参数和参数之间的差异JAVA中的局部变量

时间:2017-07-11 01:28:52

标签: java

我想了解参数,参数和& JAVA 中的本地 变量。任何人都能很好地解释他们吗?

以下代码中有一点不清楚。这是Java代码的一部分。

Language(String t) {
    name = t;
}

和.....

Language() {
    String t;
    name = t;
}

我想知道上述两种类型之间的区别。有什么不同?运行代码时有什么区别

2 个答案:

答案 0 :(得分:0)

除了上面的评论者指出你的第二个代码片段无法编译之外,参数和参数本质上是相同的(在你的第一个例子中)。它们是传递给方法的变量。

局部变量是在方法中声明的变量,因此在固定的片段中:

public void myMethod(string t) {

    int x = 6;
    String y = t;
}

这里t是一个参数(或参数)。 y是一个局部变量。

答案 1 :(得分:0)

您的两个示例之间的区别在于第一个示例:

Language(String t) {
    name = t;
}
  • 这个例子在构造函数中获取一个参数(假设Language()是一个通用命名约定的构造函数。一个参数也称为参数。它是一个值,当这个方法/构造函数是从外部传入的值时名称'名称'未在此示例中的任何位置定义,因此,此代码无法编译。

在你的第二个例子中:

Language() {
    String t;
    name = t;
}
  • 没有定义参数/参数
  • '吨'是一个局部变量。本地意味着它位于此块{}范围内的本地,因此只能在此块中具有可见性
  • 再次
  • 名称未在任何地方定义,因此无法编译
  • '吨'永远不会赋值,因此为null
  • 如果在某处定义的名称将被指定为null

因此,主要区别在于第一个示例采用参数并尝试将其分配给未定义的名称',而第二个示例不采用参数。