回答
我不认为这是一个容易回答的问题,因为它意味着基于语言的稍微不同。如果我把它放在最一般的条款中,可能会因人而异:
静态变量是在类的所有实例之间共享的变量。
静态方法是一种可以在类上调用的方法,通常不需要实例化该类。
再次,如果我要选择三种不同的语言,我会给出三种不同的答案。
维基百科也许可以帮助一些人来定义这些东西。
http://en.wikipedia.org/wiki/Method_(computer_programming) http://en.wikipedia.org/wiki/Static_variable
在Java中,static
表示class methods和类变量(与实例方法和实例变量)。这些方法和变量可以在没有实例存在的情况下访问。
将此与实例方法和实例变量进行对比:它们必须通过对象进行访问。例如,length()
操作的对象上:
String a = "hello";
int len = a.length();
相反,valueOf
不能在对象上操作;此外,将创建一个名为当一个新的对象:
String x = String.valueOf(123.45);
注意实例方法是如何使用<objectName>
后跟一个点.
调用,而使用<className>
后面跟着一个点.
访问静态方法。
'静态'关键字可能会令人困惑,因为在C源代码中它有多重含义。当用于在函数中声明一个变量时,这意味着该变量的生命周期不在函数中。它本质上是一个全球性的功能。如果全局变量是静态的,那么它对于该源文件来说基本上是私有的。在这两种情况下,变量都具有单个内存位置,就像全局一样。只是编译器阻止您在函数或编译单元之外访问它。
我认为静态变量的位置永远不会改变,而不是一个正常的局部变量,它会在栈上的某个地方有一个内存位置,这取决于当堆栈看起来像什么时该函数被调用。
当创建C++时,该关键字被重新用于引用类级别的属性和方法。我认为,这个想法是,一种静态的方法或者财产是一种对于这个阶级来说是私人的全球性的东西。如果你考虑如何在内存中布置这些内容,它会产生某种意义,因为静态属性将像全局变量一样具有单个地址。唯一的区别是编译器不允许你在课堂外使用它。
由于Java(和其它语言)已通过语法C++,启发使用“静态”来指代类方法和属性用于那里。这很不幸,因为使用这个关键字与英文含义没有多大关系。
但总的来说,这是看待它的方式。在大多数语言中,如果它是“静态”,整个程序中只有其中一个。把它看成是一个固定的内存地址。
静态变量是由其中在正常变量该变量被初始化再一类的所有实例中使用的变量。 静态方法可以在不创建对象的情况下调用它们。
我将展示的例子清楚地了解静态方法。
当从键盘输入数据时使用扫描仪类
ex; Scanner scn =新扫描仪(System.in); int a = scn.nextInt();
因此,这意味着nextInt()方法也不是一成不变的。
静态方法是,它可以在没有实例化一个类使用的方法。
请看下面的例子:静态方法
public class Calculate {
static void calculatePower(int num, int pow) {
System.out.println(Math.pow(num, pow));
}
}
用法。
public static void main(String[] args) {
Calculate.calculatePower(2,8);
}
,所以我们没有实例化的计算类和使用方法calculatePower是静态的
- 1. 静态方法和变量
- 2. 静态变量和方法
- 3. 为什么静态类不能有非静态方法和变量?
- 4. 静态方法和非静态方法有什么区别?
- 5. 有关静态方法和变量
- 6. 静态成员变量和方法
- 7. Kotlin静态方法和变量
- 8. PHP变量变量的静态方法
- 9. 为什么不能所有的方法和类变量都是静态的?
- 10. 为什么getAppProperty()不是静态方法?
- 11. 什么是静态方法同步吗?
- 12. 什么是C#中的“静态方法”?
- 13. 为什么所有静态方法/变量都在非静态类中?
- 14. 静态变量和静态方法之间的区别
- 15. Android Studio静态或非静态变量和方法
- 16. 静态方法和静态变量的Java
- 17. 为什么const变量在静态方法中可用?
- 18. 你在静态变量setter方法中使用什么名字?
- 19. 类方法或静态变量,有什么区别?
- 20. 什么是这些静态变量的可能替代方案?
- 21. 非静态类中静态方法的要点是什么?
- 22. 声明静态变量时的输出是什么?为什么?
- 23. 什么是声明静态可变值的正确方法
- 24. 为什么不是每种方法都是静态方法?
- 25. 什么是包装访问静态方法/变量的模式名称?
- 26. 在代码中定位静态变量的最简单方法是什么?
- 27. 什么是在模型中创建静态变量的ember.js惯用方法?
- 28. 非静态类中的静态方法和静态类中的静态方法有什么区别?
- 29. 什么时候我们应该去java中的静态类,变量和方法
- 30. C#中静态变量的用法是什么?何时使用它?为什么我不能在方法中声明静态变量?
我谈论的Java尤其如此。 – WAMoz56