当前位置: 首页 > 知识库问答 >
问题:

为什么所有的方法和类变量都不能是静态的?

夏侯兴怀
2023-03-14

相对来说,我是java的业余爱好者,一直使用类和对象调用静态变量和方法。当它们是静态的时,类和对象都可以使用它们。

为什么程序员不对类变量和方法都保持默认的静态?

共有1个答案

东郭元魁
2023-03-14

对于一个静态方法,我们根本不指定对象,我们只是写类名,然后写方法名。这意味着在静态方法中,没有任何东西可以调用它,因此对它的任何引用(或对任何非静态字段的任何引用)都会导致编译器抛出错误,因为它没有可以使用的对象。

 类似资料:
  • 伙计们,我有一个简单但令人讨厌的问题。据我所知,基本上意味着,对于该类的每个实例,这个方法将是相同的,如果我们改变它,这将改变该类的每个实例,它也被称为类方法。那么,如果我有一个类,它实现了某种格式的方法,让我们说: 为什么不能设置为静态?因为该类的每个实例的格式都是相同的。。。?

  • 我查阅了Java文档,了解到Java的< code>Arrays类中的方法都是静态的。我真的不明白他们为什么把它变成静态的背后的原因。 例如,下面的代码违反了 OO 方法,因为如果我有一个类型“X”,那么所有作用于它的方法都应该在它里面: 如果他们实现了以下方式,那就更好了: 任何人都可以解释一下我吗?

  • 不允许在接口中使用静态/最终方法的原因到底是什么?

  • 我知道在Java中,静态方法和实例方法一样是继承的,不同的是,当它们被重新声明时,父实现是隐藏的,而不是重写的。好吧,这有道理。但是,Java教程指出 接口中的静态方法从不继承。 然而,

  • 问题内容: 我知道创建一个非静态内部类对象需要一个外部类对象,而创建的非静态内部类对象会自动具有对该外部类对象的隐藏引用。但是为什么非静态内部类不能具有静态成员呢?Java设计人员只需要禁止在内部类的静态方法内访问非静态外部类字段,这样做会更有意义,不是吗? 如果在内部类中具有静态成员没有意义,那么为什么内部类可以通过继承具有静态成员的类来继承静态成员? 我也读了这篇文章。如前所述: 内部类可以继

  • 问题内容: 另外,在网上可以找到许多创建静态变量的解决方案。(尽管我还没有看到我喜欢的一个。) 为什么Python不支持方法中的静态变量?这被认为是非Python的,还是与Python的语法有关? 编辑: 我专门询问了 为什么 进行设计决策,但我没有提供任何代码示例,因为我想避免解释来模拟静态变量。 问题答案: 忽略这一点的想法是,静态变量仅在以下两种情况下才有用:何时真正应该使用类以及何时真正应