Java基础进阶(二)

一、static修饰成员变量的特点

static(静态的),它是一个修饰符,一般用来修饰成员变量,或者修饰成员方法。

作用:让类中的成员变量被多个对象所共享

例子1

Test1中进行测试

只在对象a中对num进行了修改,最终在对象a和对象b中同时得到了对象a修改过后的num

例子2

Test2中进行测试

B类中将成员变量name设置为static,在Test2中先用对象b设置name为classA,再用对象c将name设置为classB, 最终对象b、对象c的name都为classB。

B类中的num 为非static的,所以最终对象b和对象c的num值不一样。

static修饰成员变量的特点:

1、成员变量被多个对象共享(其中一个对象把静态成员变量的值改了,其余对象的静态成员变量的值也会相应改变)。

2、静态成员变量的访问可以通过类名和对象名两种调用。

3、在开发中,如果某个数据只需要一份(static修饰的成员变量又叫类变量,是属于类的,不属于任何对象,在内存中只存在一份),且希望能够被共享(访问、修改),则该数据可以定义成类变量来记住。

4、因为使用static修饰的成员变量是所有对象共享的,所以要慎用。

二、static修饰成员方法的基本用法

当方法内部有访问类的实例成员(非static)时,必须定义为 实例(非static)方法,因为只有实例方法可以直接访问实例方法和实例变量。

当方法内部没有访问类的实例成员(非static)时,可以定义为方法静态方法(static)。

三、使用static关键字的注意事项

1、实例方法可以直接访问实例方法和实例变量。

2、实例方法可以直接访问静态变量和静态方法。

3、静态方法可以直接访问静态变量和静态方法。

4、静态方法不能直接访问实例方法和实例变量

5、静态方法不能使用this关键字

6、静态变量、静态方法可以使用类名直接调用。

7、工具类中的方法全都是静态方法,可以使用类名直接调用。

对static关键字的理解:

类变量也叫静态变量,静态属性,是该类所有对象共享的变量,任何一个该类的对象去访问他时,取到的值都是相同的值,同样任何一个该类对象去修改他时,修改的也是同一个变量。

类变量是该类的所有对象共享的,而普通属性是每个对象独享的。

类变量是在类加载时就初始化了,也就是说,即使你没有创建对象,只要类加载了就可以使用类变量了。所以静态方法是类加载了就可以使用,而this关键字表示本类对象,是需要创建了对象的,所以和静态方法不用创建对象相矛盾,所以静态方法中不能使用this关键字。

四、静态代码块和实例代码块

代码化块又称为初始化块,属于类中的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。

但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时,或创建对象时隐式调用。

基本语法:

[修饰符]{

代码

};

修饰符可有可无,根据需求来。

静态代码块:随着类的加载而执行,只执行一次

实例代码块:随着对象的创建而执行,执行多次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值