static静态修饰符

static修饰符
被static修饰的变量称为 静态 变量(类变量);
被static修饰的方法称为 静态 方法;
被static修饰的代码块被称为静态代码块;当java虚拟机加载类时,就先行该代码块;

特点:
a可通过类名直接访问
b被static修饰的的变量会在栈和堆之外创建一个静态空间不手动销毁它是一直存在的

c在实例方法内不允许创建 静态变量,只能在类中创建

//定义中都说了,只有全局变量才能被static修饰


类的成员变量可分为:
实例变量没有被static修饰的
备注:什么叫实例;例如我们定义一个 int a ;其中 a就叫做这个类的实例;

静态变量被static修饰的变量

特点(实例变量):
(1)在内存中有 多个拷贝,互不影响;
(2) 不能被静态方法访问

特点(静态变量):
(1)在内存中 只有一个拷贝,不论作何修改都会改变它这唯一的变量;
(2) 可以在实例方法和静态方法中直接被访问;在其它类中可以通过类名来访问

注:如果类的实例都包含有一个 相同的常量属性
    我们就可以将这个属性定义为 静态常量属性
    从而 节省空间使用;

所以,除了final这些不变的常量,
最好不要用过多的static,不然容易出bug;

特点(静态方法):

(1)静态方法中不能使用this和spuer

解释:this代表本类对象,super代表父类对象,但是static方法调用static变量的,是不需要对象的;

(2) 不可以直接访问所属类的实例变量和实例方法
(3) 可以直接访问类中的静态变量和静态方法
(4)必须被实现

特点(实例方法):
(1)可直接访问所属类的 实例变量实例方法静态变量静态方法



解释:

被static修饰的变量在内存中就只有一个备份,所以不论任何操作都会改变这个变量的值;

static变量

类成员变量包括

类变量(静态变量)

a被static修饰的变量

b在内存中只有一个拷贝

c类内部,可以在任何方法内直接访问静态变量

d在其它类中可以通过类名直接访问,不需要创建对象

实例变量

a没有被static修饰的变量

b每创建 一次变量就会为实例变量分配一次内存;实例变量可以在内存中有多个拷贝,互不影响

被static修饰的变量和方法在其他类中调用时不用创建对象直接可以用类名.方法和变量就可以实现

static final;实例常量



静态方法:可以直接通过类名访问

a静态方法中不可以使用this和super

b不能直接访问所属类的实例变量和实例方法

c可以直接访问静态变量和静态方法

实例方法:通过实例访问

a可以直接访问所属类的静态变量,静态方法,实例变量和实例方法

静态方法必须被实现

main就是最常用的实例方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值