首先,类中加了static的方法和属性都属于静态方法和静态属性,代表着属性或方法属于类,即其不和对象创建后一起放在堆内存中,而是在类的方法区中。在Java中,类的方法区是用于存储类的信息和静态变量的内存区域。它在程序启动时被创建,并在程序结束时被销毁和类一起放在内存里。即在程序运行期间,它就已经存在,不需要对象实例化来获取。它的生命周期和类一样,类的产生和销毁就伴随着静态变量和方法的产生和销毁。所以其也是作用于所有对象。
当对static的变量进行修改是,下次调用时的结果将是上一次修改后的结果
//main方法
Teacher.name="福子";
System.out.println(Teacher.name);
class Teacher{
public static String name="花花";
}
为什么不能和this一起使用
因为this时对象的引用,而static是对类中静态变量和方法的修饰,二者指向不同。或者你也可以这么想,(假设在static的方法里面调用了this是不是就意味着可以调用其他的普通方法,可是被static修饰的方法整体是所有对象共有的,那this所引用的方法不也是共有的了?那为什么还要用this引用呢?)
花花和福子是我家的小主人啦,最后,如果你觉得博客帮助到你的话,请给我一个赞或者关注吧,这真的对我很重要!