static

static关键字,用于修饰类的成员,如成员变量,成员方法以及代码块。

在一个java类中,可以 用static关键字来修饰成员变量,该变量被称作静态变量。不管实例化多少对象,静态变量的数据在内存中只有一份,被所有实例所共享,可以使用“类名.变量名”的形式来访问,也可以使用“对象名.变量名”来访问。不可以用于修饰局部变量。

在一个静态变量中只能访问用static修饰的成员,原因在于没有被static修饰的成员需要先创建对象才能被访问,而静态方法在被调用时不用创建任何对象。



java中声明成员变量是必须指定权限吗?


一般全局变量都要指定,也可以不写,不写表示隐式申明为(friendly);
局部变量不能指定,他的范围只在方法中有效,如果在for循环或者if中申明他的作用范围就更小了
只在for/if中有效,当然了通常我们不分这么细

Java中的类是什么时候被加载到虚拟机?

(来源:http://wenda.so.com/q/1385882376061888)
1、编译和运行概念要搞清:编译即javac的过程,负责将.java文件compile成.class文件,主要是类型、格式检查与编译成字节码文件,而加载是指java *的过程,将.class文件加载到内存中去解释执行,即运行的时候才会有加载一说。

2、类的加载时机,肯定是在运行时,但并不是一次性全部加载,而是按需动态,依靠反射来实现动态加载,一般来说一个class只会被加载一次,之后就会从jvm的class实例的缓存中获取,谁用谁取就可以了,不会再去文件系统中加载.class文件了。

当类被加载时,静态代码块被执行,由于类只加载一次,因此静态代码块只执行一次。
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值