带你了解Java中Static关键字的用法
更新时间:2021年08月18日 11:38:25 作者:MMorant
这篇文章主要介绍了JAVA Static关键字的用法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望能给你带来帮助
Java中Static关键字的一些用法详解
1. Static 修饰类属性,因为静态成员变量可以通过类名+属性名调用,非静态成员变量不能通过类名+属性名调用;
public class Student {
private static int number;//静态变量
private String name;//非静态变量
public static void main(String[] args) {
System.out.println(Student.number);
System.out.println(Student.name);//会报错 因为非静态成员变量不能通过类名+属性名调用
}
}
2. Static 修饰类方法,可以通过类名.静态方法名的方式调用静态方法,不可以用类名.静态方法名调用非静态方法;
public class Student {
public static void go(){};//静态方法
public void run(){};//非静态方法
public static void main(String[] args) {
Student.go();//可以用类名.静态方法名的方式调用静态方法
Student.run();//报错,不可以用类名.静态方法名调用非静态方法
}
}
3. 静态代码块,匿名代码块,构造函数。三者的调用顺序为(静态代码块(只调用1次) --> 匿名代码块 --> 构造函数)。
public class Student {
//匿名代码块,每创建一个student对象就会调用一次匿名代码块
{
System.out.println("调用匿名代码块");
}
//静态代码块,和类加载一起发生,只会调用一次
static {
System.out.println("调用静态代码块");
}
//构造函数,每创建一个student对象就会调用一次该方法
public Student() {
System.out.println("调用构造函数");
}
public static void main(String[] args) {
new Student();
new Student();
}
}
【第三点 测试结果】

总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
详解springcloud 基于feign的服务接口的统一hystrix降级处理
这篇文章主要介绍了详解springcloud 基于feign的服务接口的统一hystrix降级处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06
Java多线程中ReentrantLock与Condition详解
这篇文章主要介绍了Java多线程中ReentrantLock与Condition详解,需要的朋友可以参考下2017-11-11
Java 中Object的wait() notify() notifyAll()方法使用
这篇文章主要介绍了Java 中Object的wait() notify() notifyAll()方法使用的相关资料,需要的朋友可以参考下2017-05-05
SpringBoot 整合 Spring-Session 实现分布式会话项目实战
本文主要介绍了SpringBoot 整合 Spring-Session 实现分布式会话项目实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07
2024.1.2 安装JDK和Eclipse并配置java编译环境的过程
这篇文章主要介绍了2024.1.2 安装JDK和Eclipse并配置java编译环境,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-01-01
SpringBoot中@ComponentScan的使用详解
这篇文章主要介绍了SpringBoot中@ComponentScan的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11


最新评论