`
wangleide414
  • 浏览: 606732 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

静态变量的定义位置

 
阅读更多
public class B { 
public int aMethod() { 
static int i = 0; 
i++; 
return i; 
} 

 

上边这个代码的错误就是:类的实例方法中不能定义静态变量。看看下面这面的

public class B { 
public static int aMethod() { 
static int i = 0; 
i++; 
return i; 
} 

 这个还是错误的。所以大家要记住:在类的实例方法和静态方法中都不能定义静态变量。那么只能能定义静态变量呢?

 

下面说一下具体原理:

 

只有类才存在静态的变量 方法只能对静态变量的操作 不能在方法内试图定义静态变量

否则的话会抛出编译错误

静态变量的本意是为了让所有的对象共享这个变量,如果在方法里面定义静态变量的话就存在逻辑错误了,也达不到你想要目的. 因为在方法定义静态变量根本没有他的任何意义. 任何对象都有自己的方法,即使是静态方法,方法内的变量也是在方法调用时候才开始分配内存,所以想给成静态的在逻辑上存在问题

1
0
分享到:
评论

相关推荐

    java中静态与非静态的变量定义与使用

    让我们深入探讨一下静态与非静态变量的定义与使用。 首先,静态变量是属于类级别的,这意味着它们是共享的,无论创建了多少个类的实例,都只有一个静态变量的副本。当类加载到内存中时,静态变量就会被初始化,并且...

    WPF绑定静态变量的示例代码

    1. **定义静态变量**:在你的类中定义一个静态变量,例如: ```csharp public static class StaticDataSource { public static string MyStaticValue { get; set; } = "默认值"; } ``` 2. **创建UI元素**:在...

    C# 公有变量 私有变量 静态变量

    本文将深入探讨C#中的公有变量(public)、私有变量(private)和静态变量(static),并结合20171028的C#编程实践进行说明。 **公有变量(public)** 公有变量是可以被程序任何部分访问的成员,无论是在同一类中...

    WPF绑定静态变量的示例代码(二)加上IValueConverter

    在“WpfTestBindStaticField(二)”这个项目中,你可能会看到如何在VS2019中实现这样一个示例,包括创建静态变量、定义转换器类、以及在XAML中应用这些概念的实际代码。通过实践和理解这个示例,你可以更好地掌握WPF...

    利用静态变量对函数访问次数计数.zip

    2. 存储位置:静态变量存储在内存的静态存储区,不同于栈上的局部变量和堆上的动态变量。 3. 作用域:对于局部静态变量,其作用域仅限于定义它的函数内部;而对于全局静态变量,其作用域为整个源文件。 现在,让...

    静态全局变量,静态局部变量,全局变量,局部变量

    - **静态变量**: 在程序多次调用过程中保持原有的赋值状态不变。 - **变量作用范围**: 通过`static`关键字限定变量的可见性范围。 - **静态存储方式**: 改变变量的存储位置,使之在整个程序运行期间都存在。 - **...

    static静态变量使用@Value注入方式.md

    通过上述分析和示例,我们可以看到,在Spring框架中,虽然不能直接使用`@Value`注解为静态变量注入值,但可以通过定义一个非静态方法并使用`@Value`注解来间接实现这一目标。这种方法不仅避免了潜在的警告和错误,还...

    python类和函数中使用静态变量的方法

    在Python编程语言中,类和函数的静态变量通常是指那些在多次调用中保持其值不变的变量。静态变量在其他面向对象的语言如Java或C#中比较常见,但在Python中,由于其动态特性的存在,实现静态变量的方式稍有不同。本篇...

    springboot 使用yml配置文件给静态变量赋值教程

    由于我们有一个静态工具类`ClickHouseUtil`,其中的方法依赖于静态变量,所以我们不能直接使用`@Value`注解为静态变量赋值。Spring框架不允许在静态字段上直接注入值,因为它不支持实例化静态对象。 为了解决这个...

    C语言静态变量和静态函数

    C_语言静态变量和静态函数,可以让您对C语言静态变量和静态函数有更清晰的认识

    VC++中常量与静态变量及其存储位置的定义共2页.pdf

    在VC++中,常量和静态变量的存储位置各有不同。常量通常存储在只读数据段(.rdata或.rodata段),而静态变量则存储在数据段(.data段)或初始化为零的BSS段(未初始化的静态变量)。对于函数内的静态变量,它们会在...

    全局变量、局部变量、静态变量即内存管理

    当然,其他不包含全局变量定义的源文件需要用 extern 关键字再次声明这个全局变量。 局部变量也只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用...

    CC++中的静态全局变量,静态局部变量,全局变量,局部变量的区别

    - 设计和使用访问静态变量的函数时,需考虑重入问题,因为静态变量都位于静态数据存储区,全局可见。 - 需要一个可重入的函数时,应避免在函数中使用`static`变量,以免出现内部存储器问题。 - 当函数返回值为指针...

    VB求N的阶乘和静态变量的演示

    在这个例子中,`Static fact As Long`定义了一个静态变量`fact`,它会在每次调用`Factorial`子程序时保留上一次的值。这样,如果我们连续计算多个数字的阶乘,`fact`会存储上一次计算的结果,避免了重复计算,提高了...

    Static静态变量的应用(VB6.0代码编写)

    总的来说,Static静态变量是VB6.0编程中一个强大的工具,合理利用可以解决许多实际问题,但同时也需要谨慎处理,以确保代码的健壮性和效率。在实际编程中,我们需要根据具体需求权衡是否使用Static变量,以及如何...

    静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题

    在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 2. 工程中包含动态库A,动态库B,可执行程序C。C依赖于A和...

    ios-block的局部变量和全局变量和static的静态变量联系.zip

    在iOS开发中,Block、局部变量、全局变量和静态变量(`static`)是编程中常见的概念,它们各自有自己的特点和用途,同时在特定情况下,它们之间也存在一定的联系。让我们详细探讨一下这些知识点。 首先,Block是...

    C语言学习之静态变量

    C语言中的`static`关键字用于声明静态变量,它在程序的不同上下文中具有不同的含义和作用。静态变量主要分为两类:静态局部变量和静态全局变量。 1. **静态局部变量**: - 静态局部变量使用`static`关键字在函数...

    1变量简单小程序VC局部静态变量共3页.pdf.zip

    3. **存储位置**:局部静态变量存储在数据段,而不是栈上,因此不会随着函数调用结束而被自动清理。 4. **线程安全**:在多线程环境下,不同线程对同一个局部静态变量的访问可能存在竞态条件,需要额外的同步机制来...

Global site tag (gtag.js) - Google Analytics