Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JLS是否将静态方法和静态变量视为类成员?_Java - Fatal编程技术网

Java JLS是否将静态方法和静态变量视为类成员?

Java JLS是否将静态方法和静态变量视为类成员?,java,Java,我想知道类中定义的静态方法和静态变量是否被视为该类的成员(或者术语“成员”是否仅表示实例变量/方法和内部类) Java中的类由哪些成员组成?您谈论字段和方法,然后引用静态类,但无论如何: 静态成员仍然是成员 引自 例如,字段声明是 最后可能包括静态 您谈论字段和方法,然后引用静态类,但无论如何: 静态成员仍然是成员 引自 例如,字段声明是 最后可能包括静态 成员由方法和所有变量组成,无论是静态的还是非静态的。但是,成员不包括构造函数 简而言之,类中的所有(构造函数除外)都是成员,无论是从超类继

我想知道类中定义的静态方法和静态变量是否被视为该类的成员(或者术语“成员”是否仅表示实例变量/方法和内部类)


Java中的类由哪些成员组成?

您谈论字段和方法,然后引用静态类,但无论如何:

静态成员仍然是成员

引自

例如,字段声明是

最后可能包括
静态


您谈论字段和方法,然后引用静态类,但无论如何:

静态成员仍然是成员

引自

例如,字段声明是

最后可能包括
静态


成员由方法和所有变量组成,无论是静态的还是非静态的。但是,成员不包括构造函数



简而言之,类中的所有
(构造函数除外)
都是成员,无论是从超类继承的还是静态的还是非静态的。

成员由方法和所有变量组成,无论是静态的还是非静态的。但是,成员不包括构造函数



简而言之,类中的所有
(构造函数除外)
都是成员,无论是从超类继承的还是从超类继承的,无论是静态的还是非静态的。

中定义的JLS中的成员定义是:

类的主体声明成员(字段、方法和嵌套 类和接口)

因此,不管是静态的还是非静态的,字段或方法都是类的成员。这与英语中通常被理解为某事物的“成员”非常吻合。更值得讨论的是:

类的成员包括声明的成员和继承的成员


JLS中的成员定义如中所述:

类的主体声明成员(字段、方法和嵌套 类和接口)

因此,不管是静态的还是非静态的,字段或方法都是类的成员。这与英语中通常被理解为某事物的“成员”非常吻合。更值得讨论的是:

类的成员包括声明的成员和继承的成员


我觉得我发现了一些矛盾。请澄清。该用法与英语中“成员”的常见定义一致。但是,是的,JLS也没有任何区别。@imposificantporter我知道你在哪里弄糊涂了。实例变量vs类变量,成员vs类成员。简而言之,成员包括类中的所有内容,但构造函数除外。@user3437460实例和静态初始值设定项也不是成员。@Voo是的,谢谢你指出这一点。我觉得我发现了一些不一致之处。请澄清。该用法与英语中“成员”的常见定义一致。但是,是的,JLS也没有任何区别。@imposificantporter我知道你在哪里弄糊涂了。实例变量vs类变量,成员vs类成员。简而言之,成员包括类中的所有内容,但构造函数除外。@user3437460实例和静态初始值设定项也不是成员。@Voo是的,谢谢您指出这一点。注意:静态/实例初始值设定项当然也不是类的成员。其中定义的是成员。备注:静态/实例初始值设定项当然也不是类的成员。其中定义的是成员。
ClassMemberDeclaration:
    FieldDeclaration 
    MethodDeclaration 
    ClassDeclaration 
    InterfaceDeclaration 
  ;
FieldDeclaration:
  {FieldModifier} UnannType VariableDeclaratorList ;
FieldModifier:
  (one of) 
  Annotation public protected private 
  static final transient volatile