Java-实例变量、局部变量、类变量与final变量的区别
2016-11-30 16:39
363 查看
学习Java挺长时间长了,对于java中的基本知识虽然平时知道怎么用,但是别人突然间问你谁与谁是什么关系时,还是有点生疏。既然说到这了,今天把Java中的实例变量、局部变量、类变量与final变量之间的关系的思路重新整理一遍。俗话说的好“好记忆不如烂笔头”,在此分享一下。
首先先说一下局部变量:这是我们接触java或者其他编程语言最早接触的东西,他定义在方法中,使用之前必须进行初始化,且生命周期尽在该方法中有效。
实例变量:只有在实例化对象后才可以使用,变量归对象所有。每当实例化一个对象时,总会创建一个副本并初始化,如果没有进行显式的初始化,则会初始化一个默认值。各个实例化对象的副本之间互相独立,之间没有耦合。
类变量:该变量使用static修饰符修饰,随着类的加载而可以使用(类名.变量名),属于类所有。在程序中仅加载一次,分配独立的存储空间(静态区),所有实例化的对象共享类变量。
final变量:使用static final 修饰,表示该变量为常量,显示初始化之后不可以被修改,类似于C/C++中的全局变量,虽然Java中并不是这种叫法。
举例如下:
public class VariableTest
{
char ch = 'a';
public static int numInt = 100; # 成员变量
public staitc int testStatic()
{
static final int i = 2; # static final 变量
int x = 5; #局部变量
System.out.println(i+x);
}
public static void main(String[] args)
{
System.out.println(Variable.numInt);
VariableTest test = new VariableTest();
test.testStatic();
System.out.println(test.ch);
}
}运行结果:100
7
a
首先先说一下局部变量:这是我们接触java或者其他编程语言最早接触的东西,他定义在方法中,使用之前必须进行初始化,且生命周期尽在该方法中有效。
实例变量:只有在实例化对象后才可以使用,变量归对象所有。每当实例化一个对象时,总会创建一个副本并初始化,如果没有进行显式的初始化,则会初始化一个默认值。各个实例化对象的副本之间互相独立,之间没有耦合。
类变量:该变量使用static修饰符修饰,随着类的加载而可以使用(类名.变量名),属于类所有。在程序中仅加载一次,分配独立的存储空间(静态区),所有实例化的对象共享类变量。
final变量:使用static final 修饰,表示该变量为常量,显示初始化之后不可以被修改,类似于C/C++中的全局变量,虽然Java中并不是这种叫法。
举例如下:
public class VariableTest
{
char ch = 'a';
public static int numInt = 100; # 成员变量
public staitc int testStatic()
{
static final int i = 2; # static final 变量
int x = 5; #局部变量
System.out.println(i+x);
}
public static void main(String[] args)
{
System.out.println(Variable.numInt);
VariableTest test = new VariableTest();
test.testStatic();
System.out.println(test.ch);
}
}运行结果:100
7
a
相关文章推荐
- 【Java 基础】Java 局部变量、实例变量、类变量(静态变量)区别
- Java 局部变量、实例变量、静态变量(类变量)区别
- 关java实例变量,局部变量,类变量和final变量
- 从对象深入分析 Java 中实例变量和类变量的区别
- 【Java】成员变量、类变量、局部变量的区别
- 牛客网Java刷题知识点之全局变量(又称成员变量,分为类变量和实例变量)、局部变量、静态变量(又称为类变量)
- java 类方法和实例方法 以及 类变量和实例变量 各种区别
- 局部变量,全局变量,成员变量,实例变量,类变量的区别
- java 中的 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块 执行时机
- 成员变量,局部变量,实例变量,类变量的区别
- Java千百问_03基本语法(001)_局部变量、类变量、实例变量有什么区别
- Java千百问局部变量、类变量、实例变量有什么区别
- java 中的 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块 执行时机
- 成员变量(实例变量,类变量) 局部变量 的区别
- java 实例变量和类变量的区别
- java基础(1)-实例变量、类变量、局部变量
- 【面试宝典】从对象深入分析 Java 中实例变量和类变量的区别
- 类变量、成员变量、实例变量、局部变量、静态变量、全局变量的定义与区别
- java 中的 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块 执行时机
- java 中的 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块 执行时机