属性与参数和参数之间的区别[重复]

Posted

技术标签:

【中文标题】属性与参数和参数之间的区别[重复]【英文标题】: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:可以互换使用参数和参数,但它们是完全不同的术语,我认为值得尝试使用它们正确。 【参考方案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 和其他可靠文件中的使用方式。您是否有任何来源称它们为广泛使用的“属性”? en.wikipedia.org/wiki/… 你不能从这样一个通用文档中假设特定的术语。它将“属性”和“属性”指定为字段的同义词。例如,在 C# 中,这些是 3 个非常不同的类成员。 en.wikipedia.org/wiki/Class_diagram#Members【参考方案2】:

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

【讨论】:

以上是关于属性与参数和参数之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

参数和属性之间的区别[重复]

参数和参数之间的区别[重复]

参数和参数之间的区别[重复]

参数和参数之间的区别[重复]

Java中参数和参数之间的区别[重复]

C#中参数/参数之间的区别[重复]