1静态修饰符可以修饰属性/方法
2 修饰属性/方法,该属性/方法变为类属性/类方法该方法/属性在内存中只有一份
3 被静态修饰符修饰的属性/方法,被该类的所有对象共享
根据该类创建出来的任何对象,都可以访问 static 成员
4 被静态修饰修饰的属性/方法,会首先被加载且初始化
int a; // 非静态成员变量
static int b; // 静态成员变量
静态方法:
> 可以调用静态方法
> 可以调用静态变量
> 不可以调用非静态方法
> 不可以调用非静态变量
>>>> 不能使用this关键字
非静态方法:
>可以调用静态方法
>可以调用非静态方法
>可以调用静态变量
>可以调用非静态变量
静态方法
public static void test1(){
调用非静态方法
test2();
调用静态成员变量
System.out.println(b);
调用非静态成员变量
System.out.println(a);//报错
}
非静态方法
public void test2(){
静态方法
test1();
调用静态变量
System.out.println(b);
调用非静态变量
System.out.println(a);
建议:
被静态修饰的属性和方法,直接通过类名调用.
提示:
工具类的方法全部都是静态的,直接通过类名调用.
所有工具类的构造方法不可访问.(被private私有)
重载的概念比较简单
程序中不能出现两个一模一样方法,必然是有区别的.
重载
>方法名相同
>参数列表不同
>> 参数个数不同
>> 参数顺序不同
>> 参数数据类型不同
> 与访问修饰符,返回值类型没有关系