static关键字
static是什么?
1、static是静态的意思,可以修饰成员变量,和成员方法。
2、static修饰成员变量表示该变量只在内存中储存一份,可以被共享访问,修改。
3、同一个类中静态成员变量的访问可以省略类名,不同类必须加类名。
另:
1、实例成员变量,无static,属于每个对象的,必须用 对象名.访问
成员方法的分类:
1、静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
使用场景:如果方法是以执行一个公用功能为目的,则可以声明成静态方法。
2、实例成员方法(无static,归属于对象),只能用对象触发访问。
使用场景:表示对象自己的行为,且方法中需要访问实例成员的,则该方法必须声明成实例方法。
static访问注意事项:
1、静态方法只能访问静态的成员,不可以直接访问实例成员,可以调用对象访问。
2、实例方法可以访问静态的成员,也可以访问实例成员。
3、静态方法中是不可以出现this关键字的,this关键字是代表当前对象,静态方法有可能不是用对象调的。
例子:
1 public class Student { 2 public static void main(String[] args) { 3 Student student = new Student(); 4 5 //类变量,只有静态变量才可以使用
//类名.静态成员变量, 访问
6 System.out.println(Student.age); 7 8 //不用new一个对象在调用,因为方法是静态的 9 Student.go(); 10 11 //非静态的必须先new,之后在调用 12 Student student1 = new Student(); 13 student1.run(); 14 } 15 //静态的变量 16 private static int age; 17 //非静态的变量 18 private double score; 19 20 public void run(){ 21 //非静态方法可以随便调用静态方法 22 go(); 23 } 24 public static void go(){ 25 26 } 27 }
例子:
1 public class Person { 2 //2、 3 //可以付一些初始值 4 { 5 System.out.println("匿名代码块"); 6 } 7 8 //方便初始化一些东西 9 //只执行一次 10 //1、 11 static{ 12 System.out.println("静态代码块!"); 13 } 14 15 //3、 16 public Person(){ 17 System.out.println("构造方法!"); 18 } 19 20 public static void main(String[] args) { 21 System.out.println("========================"); 22 Person person = new Person(); 23 } 24 } 25 //final是常量修饰符,如果父类被final修饰了,就不能有子类继承了
例子:
1 //静态包 2 import static java.lang.Math.random; 3 public class Test { 4 public static void main(String[] args) { 5 //为了不写Math导入包 6 //System.out.println(Math.random()); 7 System.out.println(random()); 8 } 9 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~