【问题标题】:difference between attribute and parameter and argument [duplicate]属性与参数和参数之间的区别[重复]
【发布时间】:2015-07-18 01:38:31
【问题描述】:

attribute与parameter和argument有什么区别?这是如何工作的? 例如:-

int a = 10;//attribute
method(int a);//argument or parameter

如果我动态传递一个参数,那么它将被称为参数还是参数。 谢谢。

【问题讨论】:

  • 您的代码的第二行甚至无法编译。第一行不清楚您是在声明实例字段还是局部变量——这两者都是比“属性”更标准的 Java 术语。
  • 属性是你放在最上面的,参数是你从调用者角度传递的,参数是从被调用者角度传递的。那个,java把它叫做注解而不是属性。
  • "Attributes" = 在类中的方法之外声明的那些“变量”,也就是“字段”; “参数”=方法期望的输入值的类型+名称; "arguments" = 赋予方法的值 -> 调用方法时的参数。
  • parameter 和argument 可以互换使用。而attribute 可以称为包含实体的一条信息。
  • @AlokMishra:可以互换使用参数和参数,但它们是完全不同的术语,我认为值得尝试使用它们正确。

标签: java


【解决方案1】:
class SomeClass {

  private int someAttribute; // <-- Attribute (declaration)

  public void setSomeAttribute( int attrValue /* <-- Parameter (declaration) */ ) {
    int twice = attrValue * 2; // (local) variable
    this.someAttribute = twice;
  }

  public void doSomethingElse() {
    int x; // (local) variable
    x = 1;
    setSomeAttribute(x); // the value of x is the argument
    setSomeAttribute(999); // 999 is the argument
  }
}

【讨论】:

  • someAttribute 是我所说的 fieldmember。我相信这也是它在 JLS 和其他可靠文件中的使用方式。您是否有任何来源称它们为广泛使用的“属性”?
  • 你不能从这样一个通用文档中假设特定的术语。它将“属性”和“属性”指定为字段的同义词。例如,在 C# 中,这些是 3 个非常不同的类成员。
【解决方案2】:

参数是出现在方法定义中的内容。 Argument 是在运行时传递给方法的实例或原语。

【讨论】:

    猜你喜欢
    • 2011-10-08
    • 2011-07-14
    • 2011-03-11
    • 2012-09-24
    • 2013-10-21
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多