14.类的static字段和非static字段的区别是什么?什么情况需要使用static字段?--一二熊猫

static修饰符修饰的域变量不属于任何一个类的具体对象。它被保存在类的内存区的公共储存单元中,而不是保存在某个对象的内存区域内,因此,一个类的任何对象访问它的时候得到的数值都是相同的,方位的方式为“类名.域名”,也可以通过对象引用,来访问。
下面总结:
1.static方法是类的方法,但可以被所有的对象访问。调用这个方法是,可采用“对象引用.方法名”,也可以采用“类名.方法名”。
2.static方法内部的代码,只能访问类中的static属性或方法(因为他们属于对象);但非static方法(对象方法)可以访问static属性或方法。
3.main方法是特殊的静态方法。
例:

import java .awt.;
import java.applet.
;
class pc{
static double ad =8;
}
public class RunPc extends Applet{
public void paint(Graphic g) {
Pc m =new Pc();
Pc m1=new Pc();
m.ad=0.1;
g.drawString(“m1=”+m1.ad,20,50);
g.drawString(“Pc=”+Pc.ad,20,70);
g.drawString(“m=”+m.ad,20,90);
}
}

那么什么时候使用static方法呢?
当对象中出现共享数据时,就一应该使用static修饰,这是一个很巧妙且常用的方法。

补充:
静态代码块:在一个类当中可以有不包含在任何方法体当中的静态代码块,当类被装载的时候,(即代码编译的时候),静态代码块执行一次且只执行一次,静态代码块常用来对类中定义的属性进行初始化!
如:class StaticCodeBlock{
static int value;
static{
value=3;
System.out.println(“value=”+value);
}
public static void main(String []args){}
}

static静态代码块就是起到赋予初始值的任务!
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值