静态 static(变量,方法) 不能修饰类
1.静态属性是整个类共同持有的共享空间(一份),任何对象修改,都会影响其他对象
所有对象共享的
2.概念
- 静态(static)可以修饰属性和方法。
- 成为静态属性(类属性),静态方法(类方法)
- 静态成员是全类所有对象共享的成员
- 在全类属性中之只有一份,不因创建多个对象而产生多份
- 不必创建对象,可以直接通过类名访问
JDK提供了许多静态方法
静态方法(方法区)虽然爽,但是地方不够 ,主要去堆区创建
动态代码块
//动态代码块
{
当创建对象的时候,会自动执行
}
// 在无参构造之前就执行
静态代码块
// 静态代码块
static{
比动态代码块优先级还要高,在动态之前执行
}
// 只会执行一次
加载优先级
1.父类的静态(代码块,方法,变量)
2.子类的静态(代码块,方法,变量)
3.父类的动态
4.子类的动态
5.父类的构造方法
6.父类的普通成员(变量,方法)
7.子类的构造方法
8.子类的普通成员(变量,方法)
静态方法不能重写
课堂练习
x 的默认值是0 方法调用传的是值 不是未知数
public class test {
static int x=10;
static {
x+=5;
}
public static void main(String[] args){
System.out.println(x);
}
static {
x/=3;
}
}
由加载优先级可以知道 此题的答案是 5