一旦在类中使用,则成员变量其不再属于对象,而是属于类,只在类中保存唯一一份,所有本类对象共享同一份数据。
修饰方法 一旦用static修饰成员方法,那么其就变为了静态方法,静态方法不属于对象,而是属于类的。如果没有static就是成员方法必须创建对象,然后通过对象来使用他。
如果有了static关键字,那么不需要创建对象,直接通过类名称就可以调用,对于本类中的静态方法,可以省略类名称。
对于静态方法来说,可以通过对象名进行调用(不推荐,这种方式在编译后也会被javac翻译为类名称.静态方法名),也可以直接通过类名称来调用(推荐使用)。
无论成员变量还是成员方法。如果有了static,都推荐使用类名称进行调用。
成员方法可以访问成员变量和静态变量。
静态方法只能访问静态变量,无法访问成员变量。静态不能直接访问非静态,是因为在内存中 是先有的静态内容,后有的非静态内容。
静态方法中不能使用this关键字,this代表当前对象,通过谁调用的方法,谁就是当前对象。
public class 类名称{static {//静态代码块内容}}
当第一次使用到本类时,静态代码块执行唯一的一次,静态内容总是优于非静态,所以静态代码块比构造方法先执行。
用途:用于一次性的对类中静态变量进行赋值
java.util.Arrays 是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。
public static String toString(数组),将参数数组变成字符串(按默认格式:[元素1, 元素2, 元素3...])public static void sort(数组):按照默认升序(从小到大)对数组元素进行排序。
备注:
1、如果是数值,sort默认按照升序从小到大
2、如果是字符串,sort默认按照字母升序
3、如果是自定义的类,那么这个自定义的类需要有Comparable或者Comparator接口的支持。