@[toc]
1、static修饰成员变量
1.1 静态成员变量
1、有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问
2、什么时候用呢?如果信息要被共享,只需要一份就用,比如:系统在线人数。
3、建议用类名访问:类名.静态成员变量 Student.name="张三";
4、注意:同一个类中,访问静态成员可以省略类名不写
Student 对象
package com.haima.d1_static;
public class Student {
static String name; //类变量
}
Test 类中访问
Student.name="张三";
//第二种
Student s1=new Student();
s1.name="李四
1.2 实例成员变量
1、无static修饰,属于对象,每个对象中都存在一份实例成员变量。比如:name age
2、什么时候用呢?比如:name age,每个对象中都有这些信息,而且信息还不同时,定义成实例成员变量。
3、只能用:对象名.实例成员变量。
Student 对象
package com.haima.d1_static;
public class Student {
int age; //实例变量(对象)
}
Test 类中访问
Student s1=new Student();
s1.age=10;
2、static修饰成员方法
2.1 静态成员方法
1、有static修饰,属于类,与类一起加载,可以被共享访问
2、建议用类名访问:类名.静态方法
3、注意:同一个类中,访问静态成员可以省略类名不写。
Student 对象
package com.haima.d1_static;
public class Student {
//类方法
public static void printHello(){
System.out.println("你好1");
Student.schoolName="哈哈";
}
}
Test 类中访问
//访问类方法
Student.printHello();
2.2 实例成员方法
1、无static修饰,属于对象,必须用对象触发访问
2、什么时候用呢?如果这个方法属于对象,而且要直接访问对象的实例成员,则申明成实例方法。
3、注意:只能用:对象名.实例成员方法
Student 对象
package com.haima.d1_static;
public class Student {
//实例方法
public void print(){
System.out.println(this);
System.out.println("你好2");
}
}
Test 类中访问
//访问实例方法
Student s1=new Student(); //new一个对象
s1.print();
==static 注意事项==
1、类方法中可以直接访问类的成员,不可以直接访问成员变量
2、实例方法中既可以访问类成员,也可以访问实例成员
3、实例方法中可以出现this关键字,但是类方法中不可以
3、🎉写在最后
🍻伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞👍或 Star ✨支持一下哦!手动码字,如有错误,欢迎在评论区指正💬~
你的支持就是我更新的最大动力💪~