详解java中static关键词的作用
作者:Java架构没有996 发布时间:2023-12-02 00:32:00
标签:java,static,关键词
在java中,static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能;被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
static关键词的作用
1、静态成员变量的语法特定
2、静态函数的语法特定
3、静态代码块的语法特定
定义静态成员变量
Person.java
class Person{
static int a;
}
按照以前可以这么调用
public class Test1{
public static void main(String[] args){
Person person = new Person();
person.a = 10;
System.out.println(person.a);
}
}
输出结果为10。
加上static后也可以这么使用:
public class Test1{
public static void main(String[] args){
Person.a = 10;
System.out.println(Person.a);
}
}
输出结果为10。
普通成员对象和静态成员变量的区别
普通成员变量对应p1和p2互不影响。而静态成员变量,p1和p2使用的是同一个变量。
静态函数
静态函数中不能直接引用非静态的成员变量,在静态函数中不能使用this.
定义静态函数
Person.java:
class Person{
static void fun(){
System.out.println("static function");
}
}
Test1.java
public class Test1{
public static void main(String[] args){
Person.fun();
}
}
输出:static function
静态代码块
静态代码块是在装载类的时候执行,作用是初始变量。
static{
System.out.println("static code");
}
来源:https://blog.csdn.net/wj1314250/article/details/111627334
0
投稿
猜你喜欢
- Struct的理论看过好一些,可是工作上基本没有应用过,Class倒处处都有。难道Struct就没有什么使用价值吗?搜了一下如何在类和结构中
- 1. 你知道线程安全问题吗?线程安全问题:一般指在多线程模式下,多个线程对同一个共享数据进行操作时,第一个线程还没来得及更新共享数据,从而导
- 这篇文章主要介绍了Spring配置文件如何使用${username},文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 本文实例分析了C#遍历List并删除某个元素的方法。分享给大家供大家参考。具体如下:1、我们选择用for循环:for(int i=0;i&l
- 本文实例讲述了Android编程之控件ListView使用方法。分享给大家供大家参考。具体分析如下:控件ListView是一个重要的控件,可
- sum(参数) 列名作为参数项目中有很多个字段,当字段为空的时候,求该列的平均值并赋值给该字段。如: id
- 在调用一些简单的方法实现一系列的动作时,回退的问题比较重要。作为一款用户体验良好的产品而言,有回退功能将显得比较人性化,想想如果我们常用的w
- java可以通过Runtime.getRuntime().exec()执行一个操作系统的命令,在操作系统层面执行命令也就创建了一个进程,Ja
- 这篇文章主要介绍了Java反射通过Getter方法获取对象VO的属性值过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8一、发布REST服务1、IDEA新建一个名称为r
- 使用Android AudioRecord 录制PCM文件,android SDK保证在所有设备上都支持的采样频率只有44100HZ,所以如
- 首先请看如下代码:public class generictype { public static void main(String str
- Eclipse提供了一个可扩展插件的开发系统。这就使得Eclipse在运行系统之上可以实现各种功能。这些插件也不同于其他的应用(插件的功能是
- 项目介绍springboot搭建的访客管理系统,针对高端基地做严格把控来访人员信息管理,用户后端可以设置多个管理员帐号,给予不同部门的管理层
- 本文实例为大家分享了Java判断对象是否为空的具体代码,供大家参考,具体内容如下package com.gj5u.publics.util;
- java多态性多态分两种:(1) 编译时多态(设计时多态):方法重载。(2) 运行时多态:J
- 单元测试是编写测试代码,应该准确、快速地保证程序基本模块的正确性。JUnit是Java单元测试框架,已经在Eclipse中默认安装。JUni
- 前端采用layui框架,讲解多文件上传的完整实现功能。前端html重点代码如下:<div class="layui-form
- 一、一级缓存二级缓存的概念解释(1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓
- 在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。 关于多module的配置就不说了,只需要用不同的config