static和final区别
static(静态修饰关键字)
可以修饰变量和程序块以及类方法(具体解释可分为3点,参考博文):
1. jvm会将 static变量分配在方法区里,所有的程序对他的引用都会指向这一个地址而不会重新分配内存;
2. 用static修饰的程序块,虚拟机会优先加载静态块中代码,主要用于系统初始化;
*3. 类中用 static 修饰的变量是属于类本身的变量,
e.g.
public class Item(){
double price;
String name;
static boolean isSell; //是否售卖
public static void main(){
Item pen = new Item();
}
}
在以上代码中个,静态变量 isSell是属于抽象类 Item 的变量,内存位于方法区;
而类实例 pen 却被分配在堆区;

更多精彩