day08--static内存执行图解&注意事项分析

This commit is contained in:
2025-12-30 16:14:35 +08:00
parent 2ef3d8ac9e
commit 4073285850
2 changed files with 24 additions and 12 deletions

View File

@@ -16,6 +16,17 @@ static关键字的使用
b.对象名.静态方法名(参数列表)(不推荐使用)
静态方法的作用:静态方法调用的比较方便,不需要创建对象,常用于对应的工具类的抽取,在一个项目中有可能有特定的功能代码,到处都要用,抽取成静态方法,直接通过类名.静态方法名,直接调用功能即可。
---------------------------------------------------
静态方法调用的注意事项:
1.静态方法可以直接访问类变量(静态变量)和静态方法。
2.静态方法不能直接访问普通成员变量或成员方法。静态方法只能访问静态内容,反之,成员方法可以直接访问静态变量或静态方法。(先人(刘邦)不知道(张三)后人,后人(张三)是知道先人(刘邦)的)
3.静态方法中不能使用this关键字。
static 修饰的内容:
是随着类的加载而加载的,且只加载一次。(只跟类有关)
存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
它优先于对象存在,所以,可以被所有对象共享。
*/
public class Demo10 {
public static void main(String[] args) {
@@ -26,11 +37,11 @@ public class Demo10 {
// System.out.println(Student.classRoom);
// s1.classRoom = "1903室";
Student.show();
Student.showRoom();
Student.classRoom = "1903室";
// System.out.println(s2.classRoom);//"1903室"
// System.out.println(Student.classRoom);//"1903室"
Student.show();
Student.showRoom();
}
}

View File

@@ -5,25 +5,26 @@ public class Student {
int id;
int age;
String name;
//静态变量
static String classRoom;
//行为(成员方法)
public void show(){
String showStr = "学号为"+this.id+",年龄为"+age+",姓名为"+this.name+""+classRoom+"教室上课";
System.out.println(showStr);
showRoom();
}
//静态方法
public static void showRoom(){
String showStr = "该同学在"+classRoom+"教室上课";
System.out.println(showStr);
}
//构造方法(无参和有参)
public Student() {
}
public Student(int id, int age, String name) {
this.id = id;
this.age = age;
this.name = name;
}
//(静态方法)
public static void show(){
String showStr = "该同学在"+classRoom+"教室上课";
System.out.println(showStr);
}
}