JAVA面试题:static关键字的作用?

一、概述

static关键字有两个主要的作用:第一、为某特定数据或对象分配单一的存储空间;第二、通俗来讲就是用static修饰的方法不需要创建对象,可以通过类名直接调用方法

二、static的使用

(1)static成员变量
首先我们要知道JAVA中有两种类型的变量:一种是用static修饰的静态变量,那么另外一种就是没有用static修饰的实例变量。
静态变量:静态变量属于类,在内存中只有一个复制,也就是说所有实例都指向一个地址,那么这些实例的值也就是相等了。
实例变量:属于对象,只有对象被创建后才会被分配地址空间,才能被使用。
案例:
在这里插入图片描述
(2)static成员方法
首先要注意的是static方法不能使用this和supper关键字,也不能调用非static方法,只能访问所属类的静态成员变量和成员方法。
static还有一个重要用途就是实现单例模式。单例模式的特点就是该类只能有一个实例,所以需要把类的构造函数用private修饰,那么外界创建该类的对象该怎么办呢?这就需要把创建对象的方法来声明成static来实现了。
(3)static代码块
静态代码块在类中独立于成员变量和成员方法,JVM在加载类时回执行static代码块,如果有多个就会按照顺序来执行,static代码块经常被用来初始化静态变量。
(4)static内部类
它可以不依赖于外部类实例对象而被实例化,只能访问外部类的静态成员变量和成员方法。
案例:
在这里插入图片描述*

注意:

①多个对象共享同一个成员变量时用静态
②不能在成员方法内部定义static变量
③对于变量,如果使用static final修饰则表示一旦赋值就不可修改了哦!对于方法,用static final修饰就不能被覆盖了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值