java的变量类型

梦里梦外; 2022-06-07 07:05 351阅读 0赞

一.首先我们应该知道类体是由哪几部分构成:

  1. 类是由定义的变量和定义的方法(一个类可以有多个方法)构成;

java语言支持的变量有两种,一种是成员变量(成员变量也就是我们所说的全局变量),一种是局部变量;

成员变量:在类里面定义的变量,在整个类里都有效,都可以被访问;

局部变量:在类的方法、构造方法或者语句块里面定义的变量,只在所属的区域内有效;

2.局部变量和成员变量的区别是什么?

成员变量:1.它定义在类里面,在整个类中都可以被访问;

2.它随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中;

3.它有默认的初始化值;

局部变量:1.它只能定义在局部范围内,只在所属的区域内有效;

2.它在方法、构造方法或者语句被执行的时候创建,在它们执行结束后,局部变量将要被销毁;

3.它不能被访问修饰符来修饰;

4.它存在于栈内存中;

5.它没有默认的初始化值;

注意:如果定义的局部变量的名称和成员变量的名称相同,要想在定义局部变量的方法中使用成员变量,则必须使用this关键字;代码如下:

  1. package test;
  2. public class Test
  3. {
  4. //源文件中只能有一个类是public类,并且源文件的名字必须与这个类的名字完全相同,如
  5. //果没有public类,那么源文件的名字只要和某个类的名字相同就可以了。
  6. public static void main(String[] args)
  7. {
  8. People myPeople = new People();
  9. myPeople.speak();
  10. }
  11. }
  12. class People {
  13. String name = "类体重定义的name"; //类中的成员变量并赋值
  14. public void speak() {
  15. String name = "类体方法中定义的name"; //在方法speak中定义和成员变量名字相同的局部变量并赋值
  16. System.out.println(name);
  17. System.out.println(this.name); //通过this来访问类中的成员变量
  18. }
  19. }

运行结果:

  1. 类体方法中定义的name
  2. 类体重定义的name

二、成员变量的分类

1.成员变量又可以分成两类,一类是实例变量,一类是类变量(也就是我们常说的静态变量);实例变量是独立于方法之外的,没有static去修饰,类变量是也独立于方法之外的,但是要用static去修饰;

代码实例:

  1. public class Variable{
  2. static int allClicks=0; // 类变量
  3. String str="hello world"; // 实例变量
  4. public void method(){
  5. int i =0; // 局部变量
  6. }
  7. }

类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例所共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。而实例变量取决于类的的实例对象,每创建一个实例对象,java虚拟机就为实例变量分配一个内存,实例变量位于堆区中,其生命周期取决于实例对象的生命周期;

实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;而静态变量的默认值和实例变量大的默认值相似,数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。

2.静态变量和实例变量的区别是什么??

在语法定义上的区别:静态变量前面要加static,而实例变量前面不需要加static;

程序运行上的区别:实例变量属于某个对象是的属性,必须创建了实例对象,其中的实例变量才会被分配内存空间,这样才能使用这个实例变量;静态变量不属于对象的属性,而是属于类的属性,所以也称作类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就被分配了内存空间,静态变量就能被使用了。

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 变量类型

    Java 变量类型 在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier \[ = value\]\[, identi

    相关 java变量类型

    一.首先我们应该知道类体是由哪几部分构成: 1. 类是由定义的变量和定义的方法(一个类可以有多个方法)构成; java语言支持的变量有两种,一种是成员变量(成员变量也就是我

    相关 Java 变量类型

    在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value][, identifier [= value]...