(1)静态的意思,用来修饰成员变量和成员函数 (2)静态的特点: 随着类的加载而加载 优先于对象存在 对所有对象共享 可以被类名直接调用 (3)静态的注意事项 A:静态方法只能访问静态成员 为什么:因为静态的内容是随着类的加载而加载,它是先进内存的。 B:静态方法中不能使用this,super关键字 C:主方法是静态的 public static void main(String[] args) public:公共的意思,是最大权限修饰符。 static:由于jvm调用main方法的时候,没有创建对象。 只能通过类名调用。所以,main必须用static修饰。 void:由于main方法是被jvm调用,不需要返回值。用void修饰。 main:main是主要的意思,所以jvm采用了这个名字。是程序的入口。 String[]:字符串数组 args:数组名 在运行的时候,通过java命令给args数组赋值。 格式:java MainTest hello world itcast (4)静态变量和成员变量的区别 A:调用方式 静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。 这个变量属于类。 成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。 B:存储位置 静态变量存储在方法区长中的静态区。 成员变量存储在堆内存。 C:生命周期 静态变量随着类的加载而存在,随着类的消失而消失。生命周期长。 成员变量随着对象的创建而存在,随着对象的消失而消失。 D:与对象的相关性 静态变量是所有对象共享的数据。 成员变量是每个对象所特有的数据。 (5)静态的优点和弊端 优点: 对对象的共享数据进行单独空间的存储,节省内存,没有必要每个对象都存储一份 可直接被类名调用 弊端: 生命周期过长,随着类的消失而消失 访问出现权限,即静态虽好但只能访问静态 (6)什么使用使用静态呢? A:当所有对象共享某个数据的时候,就把这个成员变量定义为静态修饰的。 B:当某个方法没有访问该类中的非静态成员,就可以把这个方法定义为静态修饰。 静态的生命周期比较长,所以一般不推荐使用。 (7)静态代码块 A:它只执行一次,它比main还先执行。 B:执行顺序 静态代码块--构造代码块--构造方法 |