2021-1-24初学JAVA
关于static修饰符和this关键词:
1、static
毫无疑问,这是一个形容词,意为:静态的
被这个关键词所修饰的变量叫做静态变量,如:
private static int num;
被static所修饰的变量在所在类加载的过程中,会在JVM的方法去内存空间开辟空间存储并给其赋值,
有时甚至在main方法还未运行时,JVM就已经为其开辟了空间其赋了值。
被static修饰的变量是类级别的变量,只与类有关,与对象无关。
被这个关键词所修饰的方法叫做静态方法,如:
public static void main(String[] args){}
static void print(){System.out.println("我是废物");}
被static所修饰的方法是类级别的方法,也与类无关,与对象无关。
被static所修饰的方法在调用的时候,一般简单些,但只能调用static成员。
对于静态的数据,我们能用"类名."的形式访问,这样不会产生空指针异常。
2、this
this是一个属性,它保存了对象在堆内存的内存地址,在编写JAVA程序时,直接使用,如
public class student{
private int stuNum;
private String behavior;
public student(){}
public student(int stuNum,String behavior){
this.stuNum = stuNum;
this.behavior = behavior;
}
public static void main(String[] args){
student aLiao = new student(2020404141,"折磨自己");
}
}
在上面的代码段中,如果不使用“this”关键字的话,编译会报错,因为JAVA遵照“就近原则”会误将左边的变量当作形参变量,而“=”最后被执行。