1.static关键字
static关键字是静态的【类名访问】
static关键字可以修饰:
1.可以修饰变量,被static修饰的变量是静态成员变量【类变量】。
1.1 静态成员变量【类变量】可以在本类中的任意一个方法中调用。
构造方法/实例方法中,默认类名.静态成员变量名称,也可以this.静态成员变量名称,类名和this可以省略。
静态方法中,默认类名.静态成员变量名称,类名可以省略。
构造方法/实例方法/静态方法中,默认类名.静态成员变量名称,类名可以省略。
package com.wangxing.statictest1;
public class MyClass {
//可以修饰变量--被static修饰的变量是静态成员变量【类变量】
public static String name="zhangsan";
//构造方法
public MyClass(){
//默认类名.静态成员变量名称
System.out.println(MyClass.name);
//this.静态成员变量名称
System.out.println(this.name);
//类名和this可以省略
System.out.println(name);
}
//实例方法
public void shili(){
//默认类名.静态成员变量名称
System.out.println(MyClass.name);
//this.静态成员变量名称
System.out.println(this.name);
//类名和this可以省略
System.out.println(name);
}
//静态方法
public static void staticMethod(){
//默认类名.静态成员变量名称
System.out.println(MyClass.name);
//类名和this可以省略
System.out.println(name);
}
}
1.2 静态成员变量【类变量】可以在其他类中的任意一个方法中调用。
可以类名调用,也可以对象调用。
package com.wangxing.statictest1;
public class MyClass {
//可以修饰变量--被static修饰的变量是静态成员变量【类变量】
public static String name="zhangsan";
}
package com.wangxing.statictest1;
public class OtherClass {
//构造方法
public OtherClass(){
//类名.静态成员变量名称
System.out.println(MyClass.name);
MyClass mc=new MyClass();
//对象.静态成员变量名称
System.out.println(mc.name);
}
//实例方法
public void shili(){
//类名.静态成员变量名称
System.out.println(MyClass.name);
MyClass mc=new MyClass();
//对象.静态成员变量名称
System.out.println(mc.name);
}
//静态方法
public static void staticMethod(){
//类名.静态成员变量名称
System.out.println(MyClass.name);
MyClass mc=new MyClass();
//对象.静态成员变量名称
System.out.println(mc.name);
}
}
2.可以修饰方法,被static修饰的方法是静态方法【类方法】。
2.1 静态方法可以在本类中的任意一个方法中调用。