static关键字
Static关键字
1.静态属性
public class Student { private static int age;//静态的变量 public double score;//非静态的变量 public static void main(String[] args) { Student stu = new Student(); System.out.println(Student.age);//静态变量可以直接通过类名访问 System.out.println(Student.score);//非静态变量不可以通过类名访问,运行时这里会报错 System.out.println(stu.score);//通过对象访问属性 System.out.println(stu.age);//通过对象访问属性 } }
静态属性对于类而言,在内存中只有一个,可以被类中的所有实例共享,当有许多类需要对这个属性进行操作时,可以使用静态属性
2.静态方法
package study; public class Student { public void run(){ go();//非静态方法可以调用静态方法 } public static void go(){ } public static void main(String[] args) { new Student().run();//非静态方法需要对象去调用 Student.go();//静态方法可以通过类名直接调用 } }
- 静态方法可以调用静态方法
- 非静态方法可以调用静态方法
- 静态方法不可以调用非静态方法
- 静态方法是和类一起加载的
3.静态代码块
package study; public class Person { //2.第二执行,一般用来赋初值 { //匿名代码块 System.out.println("匿名代码块"); } //1.首先执行,只执行一次 static { //静态代码块 System.out.println("静态代码块"); } //3.最后执行 public Person(){ System.out.println("构造方法"); } public static void main(String[] args) { Person person1 = new Person(); System.out.println("++++++++"); Person person2 = new Person(); } }
4.静态导入包
import static java.lang.Math.PI; import static java.lang.Math.random; public class Study { public static void main(String[] args) { // System.out.println(Math.random()); // System.out.println(Math.PI); System.out.println(random());//可以直接调用Math类里的方法和常量 System.out.println(PI); } }
5.final关键字
- 可以用来修饰常量
- 被final修饰的类不能被继承
本文作者:Jinx8823
本文链接:https://www.cnblogs.com/Jinx8823/p/16912921.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步