Java中静态变量,成员变量,局部变量,常量

在java中,类是最基本的单位,就是定义类中的成员(成员变量和成员方法等。)
静态变量也叫类变量,是类中独立于方法之外的变量,用static 修饰。
static表示“静态的”,“全局的”,也可以用来修饰成员的方法。静态代码块。它独立于类成员,Javade jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行。静态变量,也是只执行一次,顺序执行。
成员变量有时,也称为,实例变量”、或“域”,无static修饰,是独立于方法之外的变量。
而局部变量是指方法中的变量。

当然,也会出现代码块,{ }修饰的。见下面的代码:

public class TestDemo {
    // 静态块
    static {

    }
    //构造块,每次都运行
    {

    }
    static int num; // 静态变量
    static String str = "java";// 静态变量
    public String name = "csdn";// 全局变量

    public void Method() {
        int count = 2; // 局部变量
    }

    //static修饰的方法
    private static void printData() {

    }

    public static void main(String[] args) {
        printData();
    }

}

这里,成员变量与局部变量的区别:

成员变量:

  1. 成员变量有默认初始化值。byte,int,short,lon默认值都是0,char是空格’\u0000’,boolean是false,String是null,float与double都是0.0.
  2. 成员变量定义在类中,在整个类中都可以被访问。
  3. 成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

    局部变量:

  4. 局部变量没有默认初始化值 ,必须先声明赋值后才可以使用。

  5. 定义在局部范围内,如:方法内等,作用域只在所属的区域有效。
  6. 局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
    在使用变量时需要遵循的原则为:就近原则,先在局部范围找,有就使用;接着在成员位置找。

常量,是由final修饰的。
常量修饰的值是不可以改变的,若常量修饰引用变量的时候,变量的值是固定不变的,而变量所指的对象的属性值是可以改变的。
如下面代码:s=new Student(); 就会报错。

public class Student {
    public String name;
}
public static void main(String[] args) {

        final Student s=new Student();
        s.name="java";
        s=new Student();    
    }

关于final, finally, finalize的区别
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值