java中static(静态方法,静态变量)的使用
1.一旦使用Static修饰成员方法,那么这就成为了静态方法.静态方法不属于对象为属于类. 2.如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它. 3.如果有了static关键字,那么不需要创建对象就能通过类名称来使用它. 静态方法与非静态方法的区别: 静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被 装载和分配 。而非静态方法是不加static关键字的方法,在类定义时 没有占用内存 ,非静态方法只有在类被实例化成对象时,对象调用该方法才被分配内存; 无论是成员变量,还是成员方法.如果有了static,都推荐使用类名成进行调用 静态变量:类名称.静态变量 静态方法:类名称.静态方法() / / 对于本类的静态方法,可以省略类名称 静态变量图非静态变量的区别: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期 而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。 注意事项: 1.静态不能直接访问非静态. 原因:因为内存当中是先有静态内容,后有的非静态内容 2.静态方法当中不能用this 原因:this代表当前对象,通过谁调用的方法