Java教程

Java复习总结之变量与关键字

本文主要是介绍Java复习总结之变量与关键字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

变量

按被声明的位置划分,可分为成员变量局部变量

成员变量

	1、定义在类当中,和方法同级
	2、作用域为整个对象,类当中都可以使用的变量
	3、定义时可以没有初始值,有默认值是0,使用时可以赋值
	4、内存空间和值都存储在堆内存中

局部变量

	1、定义在方法体内,且只能在定义它的方法中使用
	2、定义时可以没有初始值,使用时必须赋值
	3、该方法中不能出现两个名称相同的局部变量
	4、内存空间和值都存储在栈内存当中

按所属的数据类型划分,可分为基本数据类型引用数据类型
在这里插入图片描述

final关键字

在这里插入图片描述

1、修饰类,不能被继承,所以final类的成员方法没有机会被覆盖,
默认都是final的
2、修饰变量(常量),如果该变量是基本数据类型,则它的值不能被修改;
如果是引用数据类型,地址不可改变,它的值可以被修改。
3、修饰方法,不能被重写
4、防止指令重排序,保证线程间可见性(并发)

扩展

为什么String不可变?
请看源码:
在这里插入图片描述
由源码我们可以知晓:

1、String用来存储数据的char数组被final修饰,意味着一个String对象里的char数组不可能再指向一个新的数组。
2、String内部没有修改char数组的方法。
3、String类用final修饰,不可以被继承,从而不能通过子类修改。

因此,String不可变!!!

static关键字

在这里插入图片描述

static作用:在没有创建对象的时候方便对方法和变量进行调用 static修饰符

一、修饰变量:static修饰的变量属于类变量,被所有对象共享
二、修饰方法:
1、属于类方法
2、this关键字不能在static方法当中使用(this代指当前对象,static 修饰的方法是类方法)
3、静态方法当中不能使用非静态的方法,非静态的方法能够使用静态方法 4、static修饰的代码块,在main方法之前执行,以便于优化程序

这篇关于Java复习总结之变量与关键字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!