Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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中静态方法与实例字段的通信_Java_Oop_Static - Fatal编程技术网

java中静态方法与实例字段的通信

java中静态方法与实例字段的通信,java,oop,static,Java,Oop,Static,“静态方法不能与实例字段通信,只能与静态字段通信”。我要读这段引文。当我研究这个论坛中的其他线程时,我发现我们可以在静态方法中使用实例字段,反之亦然。那么,这句话是什么意思??这是真的吗?不能在静态方法中使用实例字段。你指的是哪种情况 但是,静态方法可能会引用实例,从而使用该实例上的字段 e、 g 不能在静态方法中使用实例字段。你指的是哪种情况 但是,静态方法可能会引用实例,从而使用该实例上的字段 e、 g 不能在静态方法中使用非静态(实例)字段。这是因为静态方法与实例没有关联 static方法

“静态方法不能与实例字段通信,只能与静态字段通信”。我要读这段引文。当我研究这个论坛中的其他线程时,我发现我们可以在静态方法中使用实例字段,反之亦然。那么,这句话是什么意思??这是真的吗?

不能在静态方法中使用实例字段。你指的是哪种情况

但是,静态方法可能会引用实例,从而使用该实例上的字段

e、 g


不能在静态方法中使用实例字段。你指的是哪种情况

但是,静态方法可能会引用实例,从而使用该实例上的字段

e、 g

不能在静态方法中使用非静态(实例)字段。这是因为静态方法与实例没有关联

static
方法是每个类一个,而一个类可能有许多实例。因此,如果您有两个实例,静态方法将看到哪一个实例的字段

让我们假设这是有效的:

class Foo {
   private int bar;

   public static int getBar() {
      return bar; // does not compile;
   }
}
然后:

Foo foo1 = new Foo();
foo1.bar = 1;
Foo foo2 = new Foo();
foo2.bar = 2;

Foo.getBar(); // what would this return. 1 or 2?
不能在静态方法中使用非静态(实例)字段。这是因为静态方法与实例没有关联

static
方法是每个类一个,而一个类可能有许多实例。因此,如果您有两个实例,静态方法将看到哪一个实例的字段

让我们假设这是有效的:

class Foo {
   private int bar;

   public static int getBar() {
      return bar; // does not compile;
   }
}
然后:

Foo foo1 = new Foo();
foo1.bar = 1;
Foo foo2 = new Foo();
foo2.bar = 2;

Foo.getBar(); // what would this return. 1 or 2?
说明:静态字段/方法/。。与类关联,而不是与该类的对象关联。当成员变量/方法与类的对象关联时,为了访问它们,我们需要类的对象

另请参见

说明:静态字段/方法/。。与类关联,而不是与该类的对象关联。当成员变量/方法与类的对象关联时,为了访问它们,我们需要类的对象

另请参见

我发现我们可以使用实例 静态方法中的字段,反之亦然 反之亦然

那不是真的;您不能在“静态”方法中引用实例字段,因为“静态”方法不属于“实例”

建议阅读:

我发现我们可以使用实例 静态方法中的字段,反之亦然 反之亦然

那不是真的;您不能在“静态”方法中引用实例字段,因为“静态”方法不属于“实例”


推荐阅读:

您不能使用不存在的内容


当您有静态字段或方法时,该字段或方法与Instance不关联。因此,非静态元素不存在

您不能使用不存在的东西



当您有静态字段或方法时,该字段或方法与Instance不关联。因此,非静态元素不存在

始终需要一个实例来与实例字段通信。如果您有权访问实例(例如param或static字段),则可以访问其成员。但是您不能直接访问类的实例字段。

您总是需要一个实例来与实例字段通信。如果您有权访问实例(例如param或static字段),则可以访问其成员。但是您不能直接访问类的实例字段。

但是行
newmyclass().i=10
做什么?除非他将对象存储在某个地方,否则对他没有任何好处。@kralco626我希望你能得到你的答案,但是行
new MyClass().I=10
有什么作用?除非他把物品存放在某个地方,否则对他没有任何好处好吧,否决票有点苛刻。但是你没有在代码中解释为什么你不能做他想做的事情。我已经编写了很多java。。。看不到创建实例的原因,为其变量之一赋值,但不存储它。。。他显然是oop新手,他需要一个清晰、简单、具体的例子。@kralco626我希望现在它能很好地回答你的问题,而且我从来没有说过
new MyClass()。I=10仅用于演示cases@org.life.java-我只是说,他显然是oop新手,所以他会从将其存储为变量中获益。如果你想创造我的,那就把它储存起来。但是我们似乎已经突破了关键点:)我认为他不再关注这个问题:)但是行
newmyclass().I=10
做了什么?除非他将对象存储在某个地方,否则对他没有任何好处。@kralco626我希望你能得到你的答案,但是行
new MyClass().I=10
有什么作用?除非他把物品存放在某个地方,否则对他没有任何好处好吧,否决票有点苛刻。但是你没有在代码中解释为什么你不能做他想做的事情。我已经编写了很多java。。。看不到创建实例的原因,为其变量之一赋值,但不存储它。。。他显然是oop新手,他需要一个清晰、简单、具体的例子。@kralco626我希望现在它能很好地回答你的问题,而且我从来没有说过
new MyClass()。I=10仅用于演示cases@org.life.java-我只是说,他显然是oop新手,所以他会从将其存储为变量中获益。如果你想创造我的,那就把它储存起来。但我们似乎已经突破了关键点:)我认为他不再关注这个问题:)请发布你的代码。我们可以用另一种方式帮你做你想做的事。对不起,我只是在学习一些材料。懂了。波佐的解释很好。你应该去看看。请把你的密码贴出来。我们可以用另一种方式帮你做你想做的事。对不起,我只是在学习一些材料。懂了。波佐的解释很好。你应该去看看。