一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的,本类的对象,都共享。
1.静态static关键字修饰成员方法
static修饰成员方法,就成为了静态方法。静态方法不属于对象,而是属于类的。
若果没有static关键字,那么必须创建对象,通过对象调用。
obj.methodStatic();//正确,不推荐,不使用对象
MyClass.methodStatic();//直接类型.静态方法名
//本类当中的静态方法,可以省略类名称。
1.静态方法不能访问成员变量,只能访问静态变量
内存中先有静态内容,后有非静态内容,【先知后,不能后知先】
2.静态方法中不能用this关键字
2.静态代码块
public class 类名称 {
static {
//静态代码块的内容
}
}
特点:当第一次用到本类时,静态代码块执行唯一的一次
静态内容总是优先于非静态,所以静态代码块比构造方法先执行。
静态代码块的典型用途:
用来一次性地对静态成员变量进行赋值
3.Arrays
java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。
- public static String toString(数组):将参数数组变成字符串(元素1,元素2,元素3…)
2.public static void sort(数组)
数值,升序从小到大
字符串,字母升序
自定义类型,自定义类型需要有Comparable接口
int [] intArray = {10,20,30}
String intStr = Arrays.toString(intArray);
//[10,20,30]
Arrays.toString(array1);
Arrays API
4.Math
public static double abs(double num)
public static double ceil(double num)//向上取正
public static double floor(double num)//向下取正
public static long round(double num)//四舍五入