static用法:
static int price;
那么此时无论new了几个对象都操作的同一块空间
也许 一开始oo.price = 2000
接着new了一个tt。 tt.price =150
那么此时oo和tt的price 都是150 因为是同一块空间
1、类对象共享
2、类加载时产生,销毁时释放 ,生命周期长
因此当静态时 最好用
类.price = 3000
当static eat()方法时
类.eat() 也可以 直接调用
在成员方法中,可以直接访问类中静态成员
可以有静态的属性 静态的方法 不能有静态的类
静态方法中 不能直接访问同一个类的非静态成员,只能直接调用同一个类中的静态成员
只能通过对象实列化后,对象.成员的方式 访问非静态成员
普通代码块 顺序执行 先出现先执行
{
System.out.println(“我是菜鸟”);
}
构造代码块: 创建对象时调用,优先于构造方法执行
{
}
静态代码块 类加载的时候调用 优先于构造代码块执行
static{
静态成员赋值 普通不行
}
同级顺序执行 不同new 静态只打印一次 构造with new的次数