关于java中static问题

实例变量与类变量的区别:

实例变量:类的所有对象都会被分配相应的实例变量,及不同的对象的实例变量存储在不同的内存里;

类变量:类的所有对象都共享一个类变量,及类被加载到内存时,类变量的内存已经被分配,改变其中一个对象的这个类变量会影响其他对象的这个类变量,及该类变量被所有对象所共享。

例:

class A{

int x;

static int y;

}

class B{

A a1=new A();

A a2=new A();

}


实例方法与类方法的区别:

实例方法:只有在类创建第一个对象时,实例方法才被分配入口,但是,该入口被所有对象共享,方法中的成员变量被认为是分配给该对象的成员变量,类变量和其他对象共享,该入口只有当所有对象不存在时才被取消。

类方法:在类被加载到内存中时,类方法就分配了相应入口地址,可以直接通过类名进行调用,只有当退出程序时该入口地址才被取消,所以类方法中只能调用类变量和类方法。

注:类方法中只能调用类变量和类方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值