上善若水|

Jinx8823

园龄:3年5个月粉丝:15关注:5

📂JavaSE
🔖Java
2022-11-21 19:18阅读: 18评论: 0推荐: 0

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();
}
}

image-20221121191016375

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 中国大陆许可协议进行许可。

posted @   Jinx8823  阅读(18)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起