static注意事项及其使用规范
MyClass类
package com.zr;
public class MyClass {
//静态代码块,不管调用几次,只运行一次
static {
System.out.println("这是静态代码块");
}
int num;//成员变量
static int numStatic;//静态变量
//成员方法
public void method(){
System.out.println("这是非静态方法。");
//成员方法可以访问成员变量
System.out.println(num);
//成员方法可以访问静态变量
System.out.println(numStatic);
}
//静态方法
public static void methodStatic(){
System.out.println("这是静态方法。");
//静态方法可以访问静态变量
System.out.println(numStatic);
//静态方法不能直接访问成员变量
//System.out.println(num);//错误写法
//静态方法中不能使用this关键字
//System.out.println(this);//错误写法
}
}
Demo类
package com.zr;
/*
一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的。
如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。
如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。
无论是成员变量,还是成员方法。如果有了static,都使用类名称进行调用。
静态变量:类名称.静态变量
静态方法:类名称.静态方法
注意事项:
1.静态不能直接访问非静态。
2.静态方法中不能用this
原因:this代表当前对象,通过谁调用的方法,谁就是当前对象。
*/
public class Demo {
public static void main(String[] args) {
MyClass obj=new MyClass();
//首先创建对象,然后才能使用没有static关键字的内容
obj.method();
//对于静态方法来说,直接通过类名称来调用。
MyClass.methodStatic();
}
}