java的类变量、实例变量、局部变量和参数变量

摘自课本:(感觉挺详细的,记录一下)


每个类中的变量根据它们声明的位置以及限定符的不同可划分为:


1.类变量:必须在类体中声明,并且用static关键字修饰,也称为静态变量。类变量在类加载时就完成初始化工作,类变量在一个运行系统中只有一份供整个类和实例对象共享的值,该值有可能被类(及其子类)和它们所创建的实例改变,每一次的改变都将影响到该类(及其子类)和其他实例的调用。初始化时如果没显式赋值,会被赋予一个默认初值。


2.实例变量:在类体中声明但不使用static修饰,也称为非静态变量。它在对象初始化时完成相应的初始化工作,并由某一个对象独自拥有。初始化时如果没显式赋值,会被赋予一个默认初值。


3.局部变量:在某个语句或者代码块中声明。当该语句或代码块被调用时,每次都创建相关的局部变量。在一个局部变量的声明语句中可能包含有用于初始化的表达式,但是,该表达式一般要等到这条声明语句被执行的时候才会进行相应的初始化。局部变量没有默认初值,若初始化没有显式赋值,并在其后的语句中试图直接调用,java编译器会报错。


4.参数变量:方法和构造方法用于传递信息的参数变量和作用于方法体的局部变量类似,当方法被调用的时候进行相应的初始化。

你可能感兴趣的:(JAVA基础知识)