static方法
1、static方法的作用
访问static变量和static方法
2、static方法的调用方式
通过类名调用、通过对象名来访问
3、不可以
静态方法中不可以访问非静态变量
静态方法中不可以访问非静态方法
静态方法中不可以访问this
原因:加载类的时候就加载静态变量和静态方法,此时可能还没有创建对象,所以
非静态变量和非静态方法还没有分配空间,无法访问
4、可以
非静态方法可以访问静态变量
非静态方法中可以访问静态方法
原因和上面不可以类似
/**
* 静态方法
*/
public class Student2 {
String name;
int age;
String sex;
double score;
static String classRoom;
//static方法
public static void showClassRoom(){
System.out.println(classRoom);
}
public static void setClassRoom(String classRoom){
Student2.classRoom = classRoom;
}
public void introduce(){
System.out.println(this.name+"\t"+this.age+"\t"+sex+"\t"+score+classRoom);
//非静态方法可以访问静态方法
showClassRoom();
}
public static void main(String[] args) {
Student2.showClassRoom();//初始为空
Student2.setClassRoom("1111");
Student2.showClassRoom();
Student2 stu = new Student2();
stu.name = "张三";
stu.classRoom = "2222";//可以通过对象访问静态变量
stu.showClassRoom();//可以通过对象访问静态方法
}
}
执行代码如下: