类变量,实例变量

 

1 实例变量和类变量
  每个对象的实例变量都分配内存
  类变量(即static变量)仅在生成第一个对象时分配内存所有实例对象共享同一个类变量每个实例对象对类变量的改变都会影响到其它的实例对象类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。

区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

例:

public class A{

static int a = 0; //类变量

private int b = 0; //实力变量

}

public class B{

public void main (String[] args){

A a1 = new A();

A a2 = new A();

a1.a = 3; // 等同于 A.a = 3;

a1.b = 4 ;

System.out.println(a2.a); //结果为3 类变量是针对所有对象的,所以a1改变aa2a也改变

System.out.println(a2.b); //结果为0,实例只改变自身的,所以a1对象的b改变,不影响对象a2b变量

} }

2 实例方法和类方法
  实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。
  但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用thissuper关键字。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值