# STATIC 静态
static是静态修饰符,由它修饰的方法是静态方法,同样的修饰的属性为静态属性。
静态与非静态的区别:
非静态的属性和方法都是随着对象的创建而加载的,静态是随着类加载的,也就是说只会加载一次,其数据可以共享,作为全局变量。
非静态与静态的属性或方法应该如何调用
- 非静态:只能通过对象调用,因为非静态的属性或方法只有在创建对象的时候才会被加载进内存
- 静态:既可以通过对象调用,也可以通过类名调用,建议使用类名调用(非静态的属性或方法属于对象的,静态的属性或方法属于类的)
- 不能在静态的方法中调用非静态的属性或方法,因为非静态的属性或方法只有在创建对象的时候才会被加载进内存。
- package cn.yunhe.sta;
public class StaticDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建对象:
Ticket t1 = new Ticket();
Ticket t2 = new Ticket();
//创建循环;
for(int i=0;i<=50;i++) {
t1.sale();
t2.sale();
}
//静态可以通过对象创建,也可以通过类创建,建议使用类创建。
//t1.show();//会报黄色,通过对象调用。
Ticket.show();
}