静态变量static

1. Java 中被static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享、且优先于对象存在。静态成员可以使用类名直接访问,也可以使用对象名进行访问。使用 static 可以修饰变量、方法和代码块。

2. public 修饰符表示公开的、公有的,静态变量使用static修饰

3. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。

4. 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

5. 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量

6. 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法

Java 中的 static 使用之静态初始化块

1.在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。

2.实例变量和类变量的区别:

a) 存放位置:类变量随着类的加载而存放于方法区中;实例变量随着对象的建立存在于堆内存中。

b) 生命周期:类变量生命周期最长,随着类的消失而消失;实例变量生命周期随着对象的消失而消失。

3.静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。程序运行时,静态初始化快先被执行并优先于主函数,然后执行普通初始化块,最后才执行构造方法。

时间: 2024-10-05 04:58:59

静态变量static的相关文章

c语言:利用静态变量static,输出1到5的阶乘值

利用静态变量static,输出1到5的阶乘值. 解:程序: #include<stdio.h> int fac(int n) { static int f=1; f = f*n; return f; } int main() { int i; for (i = 1; i <=5; i++) { printf("%d!=%d\n",i,fac(i)); } return 0; } 结果: 1!=1 2!=2 3!=6 4!=24 5!=120 请按任意键继续. . .

Java中的静态变量static

package com.wangcf; public class Test { String name="你好"; static String sex="男"; Test t=new Test(); /** * 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员 * 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量 */ public static void print(){ Test test=new Test(

android中少用静态变量(android静态变量static生命周期)

在android中,要少用静态变量. 我现在做的一个应用中,之前的开发人员使用静态变量来存储cookie,这个全局的静态变量用来验证身份. 这时客户反应,应用长时间不使用,再次使用,会提示身份过期. 后来经查,问题基本确定在静态变量上. 上stackoverflow查了android中static变量的生命周期,有人这么说 Lifetime of a static variable: A static variable comes into existence when a class is l

cocos2d-x 静态变量 static

在cocos2d-x的.h文件里声明静态(static)变量时,编译运行的时候会出现“无法解析”的错误,这是因为我们错误的引用C++习惯,将静态(static)变量声明在头文件中导致的错误. #ifndef _A_H_ #define _A_H_ #include "cocos2d.h" class A{ public: static int getInt(); //获取创建的静态(static)变量 protected: A(); ~A(); }; #endif #include &

java学习(四)static静态变量 和this

java中的this /* this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 */ //定义学生类 class Student { //姓名 private String name; //年龄 private int age; //姓名获取值 public String getName() { return name; } //姓名设置值 public void setName(

static静态变量

static静态变量 static 关键字来定义静态方法和属性.static 也可用于定义静态变量声明类属性或方法为静态,就可以不实例化类而直接访问.静态属性不能通过一个类已实例化的对象来访问(但静态方法可以). 为了兼容 PHP 4,如果没有指定访问控制,属性和方法默认为公有. 由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用. 静态属性不可以由对象通过 -> 操作符来访问. 用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误. 就像其它所有的

block 解析 - 静态变量

静态变量 上一篇 我们了解了block全局变量的使用,静态变量和全局变量一样,可以直接在block内部使用,也可以在block内部修改 引用官方文档: Global variables are accessible, including static variables that exist within the enclosing lexical scope. 我们来看一段代码: 声明一个静态变量,在block内部修改 static NSString * _para1; -(void )tes

浅析VB.NET局部静态变量————————【Badboy】

经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.VB.NET能够实现很多C#不能做到的功能,如When语句.Optional参数.局部Static变量.对象实例访问静态方法.Handles绑定事件.On Error处理异常.Object直接后期绑定等等.VB和C#同属.NET的语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢.我们一起来探究一下VB.NET局部静态变量. VB.NET局部静态变量 VB支持用Stati

IOS总结 静变量static、全局变量extern、局部变量、实例变量

1.静态变量 static 什么是静态变量:从面向对象的角度触发,当需要一个数据对象为整类而非某个对象服务,同时有力求不破坏类的封装性,既要求此成员隐藏在类的内部,有要求对外不可见的时候,就可以使用static. 静态变量的优点:1.节省内存.静态变量只存储一处,但供所有对象使用. 2.它的值是可以更新的. 3.可提高时间效率.只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值. 2.全局变量extern 什么是全局变量:也称之为外部变量,是在方法外部定义的变量.它不属于哪个方法,而是