`
weihe6666
  • 浏览: 440109 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

静态方法和变量

 
阅读更多
静态方法和变量


   一般静态变量都是公用的、全局的,程序一启动就会在内存开辟一块空间,存放它们。
   静态的不必实例化就能直接使用,是说在没有生成任何对象时就能运用该方法,所以静态方法里不能对非静态的成员变量做操作。
   一般静态方法操作静态成员变量或全局变量,static方法中不能直接使用非静态成员, 因为非静态成员与实例相关,通过对象点取间接使用

静态方法和变量弊端
   静态的属性和方法在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的

  静态方法/数据成员是属于类的,不是属于某一个对象的,因而调用它不需要实例化;静态方法和静态数据成员相当于共享变量。为该类的所有对象所共有,因而在需要共享数据时,定义这种类型时很好的选择。 一但定义一个类后(不一定要实例化对象)该类的所有静态成员就载入内存(并不是程序启动,就装入内存,没有定义该类时它不会载入内存) 静态成员的作用域与它所属的类的作用域相同
分享到:
评论

相关推荐

    静态的魔力:Java中静态方法和变量的深度解析

    在Java中,静态(static)关键字被用来修饰类的成员变量和方法,表示这些成员属于类本身而非类的某个具体实例。这意味着: - **无需实例化即可访问**:静态成员可以在没有创建类的实例的情况下被访问。 - **所有实例...

    什么是静态(static)什么是静态方法,静态变量,静态块

    在Java编程语言中,"静态"(static)关键字是一个非常重要的概念,它具有多种用途,包括定义静态变量、静态方法、静态初始化块以及静态类。理解这些概念对于编写高效的Java代码至关重要。 首先,我们来解释静态变量...

    Java中静态方法和非静态方法的区别.docx

    非静态方法可以访问静态数据成员和静态方法,也可以访问另一个类或同一类的非静态成员和方法,还可以更改任何静态数据成员的值。 三、访问成员和方法 静态方法只能访问另一个类或同一个类的静态数据成员和静态方法...

    Java中的静态变量静态方法静态块与静态类.docx

    在一个静态方法中,除了局部变量外,能够访问的外部变量也必须是静态的,能够访问的外部方法也必须是静态的,实例变量和实例方法均不能访问。 静态方法通常是 public 的,作为工具类的工具方法出现。 例如: ```...

    静态方法,静态成员变量的调用

    // 静态方法可以访问静态变量和调用其他静态方法,但不能访问实例变量或调用实例方法 sa = 10; otherStat(); } static void otherStat() {} void insMethod() { // 实例方法可以访问静态和实例变量,以及...

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

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

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

    // 不需要实例化类就能访问静态变量和方法 Console.WriteLine(MyClass.StaticVar); // 输出10 MyClass.ModifyStaticVar(); Console.WriteLine(MyClass.StaticVar); // 输出11 ``` 在实际编程中,正确选择变量的访问...

    python局部变量全局变量-静态方法-实例变量静态变量代码解析

    python局部变量全局变量-静态方法-实例变量静态变量代码解析。

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

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

    单链表 数据结构 静态变量、静态方法的使用

    用c++的类实现,对于c++初学者帮助较大,主要熟悉静态变量 静态方法的使用 将练习与数据结构相结合

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

    - **面向对象设计中的static**关键字用于定义类的静态成员变量和静态成员函数,这些成员与类本身相关,而不是与某个特定对象实例相关。 理解这些变量类型及其特点有助于编写更高效、更安全的代码。

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

    由于 `t2` 和 `c1` 是静态变量,我们可以直接通过它们调用非静态方法 `f2()` 和 `f3()`,无需创建 `Table` 或 `Cupboard` 的实例。这展示了如何在没有对象的情况下使用静态变量调用非静态方法,尽管这通常不是最佳...

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

    这种方法不仅避免了潜在的警告和错误,还保持了静态变量的功能,确保了代码的健壮性和灵活性。 总之,理解`@Value`注解的工作原理以及如何正确地使用它对于编写高质量的Spring应用程序至关重要。希望本文能够帮助...

    JAVA语言静态变量和静态方法的分析及其应用研究.pdf

    JAVA语言静态变量和静态方法的分析及其应用研究.pdf

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

    在实际项目中,你可能需要根据需求调整静态变量的类型和更新机制,例如,如果静态变量是复杂类型,你可能需要自定义转换器或者使用`ObservableObject`来处理更改通知。 在提供的压缩包文件`WpfTestBindStaticField`...

    VB 静态变量举例

    静态变量和模块级变量都具有跨函数调用保留值的能力,但它们之间存在区别。模块级变量在整个模块内可见,而静态变量仅在声明它的函数或过程中可见。模块级变量在程序运行期间始终存在,而静态变量只在需要时分配内存...

    静态变量和非静态变量的区别.xmind

    静态变量和非静态变量的区别

    C#中静态变量的使用

    静态变量和非静态变量是 C# 语言中两种不同的变量类型。静态变量是在应用程序初始化时创建的,直到应用程序结束时才销毁。非静态变量则需要被实例化后才会分配内存。 1. 内存分配:静态变量在应用程序初始化时创建...

    如何使用Static的变量和方法

    ### 如何使用Static的变量和方法 在Java编程语言中,`static`关键字是一个非常重要的概念,用于定义静态成员变量和方法。理解`static`如何工作对于任何Java开发者来说都是必不可少的,尤其是在处理多线程环境、单例...

    局部变量、全局变量、堆、堆栈、静态和全局

    静态变量分为静态局部变量和静态全局变量。静态局部变量只在函数首次调用时初始化,之后每次调用函数时,其值会保留,不会被重置。静态全局变量只在定义它的源文件内可见,避免了全局变量的命名冲突,且其生命周期...

Global site tag (gtag.js) - Google Analytics