JAVA中的static

谈谈Java中的static 摘要:本文详细介绍了Java中static关键字的特性与应用。static可修饰变量、方法和类,具有共享性、优先加载等特点。静态成员变量在内存中只有一份拷贝,生命周期与类相同;静态方法可直接通过类名调用,不能使用this/super;静态代码块在类加载时执行;静态内部类只能访问外部类静态成员。最后探讨了static final组合的特性,指出容器类型变量虽然不可改变引用,但可修改其内容。这些特性为Java程序设计提供了重要的共享机制和初始化方式。 阅读详情

1. static 变量

对于static来说是它其实是程序共享的变量 这个变量不属于任何对象,是一个公共变量,在使用时我们可以直接调用

也就是说当们调用某一类里的变量时我们需要先new这个对象然后用对象名.变量名来调用

而static的变量则不需要这样

举个简单的例子我们就可以明白了

  1. public class testStatic {
  2.     public static void main(String[] args) {
  3.         
  4.         /*test1 t1 = new test1();
  5.         System.out.println(t1.name);*/  //如果不是static变量那么我们就需要像这样new一个对象然后调用
  6.         
  7.         System.out.println(test1.name); //在这里我们不需要new对象而是直接使用类名.变量名调用
  8.         
  9.         test1 t1 = new test1();         //当我们new一个对象后可以调用该类的方法
  10.             t1.callname();
  11.             System.out.println(t1.name);// 也可以使用 对象名.变量名调用
  12.     }
  13. }
  14. class  test1{
  15.      public static String name="yuewei";    
  16.      
  17.      void callname(){
  18.          System.out.println(name);
  19.      }
  20. }
  21. /*打印出语句是 yuewei
  22.               yuewei
  23.               yuewei
  24. */

不知道这个例子大家明白否??

  1. //用static 我们可以做一些累加值的例子
  2. public class testcount {
  3.     
  4.     public static void main(String[] args) {
  5.         new testCount1("yuewei1");
  6.         new testCount1("yuewei2");
  7.         new testCount1("yuewei3");
  8.         new testCount1("yuewei4");
  9.         new testCount1("yuewei5");
  10.         
  11.         
  12. }
  13. }
  14. class testCount1{
  15.  public static int count =1;
  16. public  testCount1(String name){
  17.      System.out.println("My name is "+name+","+"I 'M NO:"+count);
  18.      count++;
  19.      
  20.  }
  21. }
  22. //在这里我们用到了累加,假如把static去掉看看结果是什么??
  23. //如果不使用static,他每调用一次构造函数,值都会变为原始值

 

2.static方法

我们在明白static变量后就很容易理解static方法了,就是在方法名前加static

举个简单的例子

  1. public class testmethod {
  2.     
  3.     public static void main(String[] args) {
  4.             test2.callname();   
  5.     }
  6. }
  7. class test2{
  8.     
  9.     public static String name="yuewei";
  10.     
  11.     public static void callname(){
  12.         System.out.println("My name is yuewei");
  13.     }
  14.     
  15. }

我们可以看到没有new test2()而是直接用类名.方法名。

SAP 零售 FMS 物料主数据(一) SAP 零售 FMS 物料主数据(一) SAP 对于鞋服行业最新的解决方案-FMS(相当于原来的AFS+Retail);更偏向与零售; 商品主数据与原来的AFS大不相同,取消了原来的Grid的网格概念,取而代之的是变式;商品主数据维护也偏向于Retail的维护模式;事物代码也不是MM01而是MM41 /MM46; 在维护商品主数据前,需要与商品部沟通定义各种商品相关的规范如编码规则,大中小类 ,颜色库,尺码库等,此处不赘述; 创建商品需要确定哪些物料是变式物料,哪些是常规不带特性的单一物料;这决定了在创建商 阅读详情

相关推荐

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

Anaconda创建的虚拟环境可能会默认保存在C盘,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。因此有必要做点什么来拯救被虚拟环境占用的大部分空间!!!

Roach007的博客 3万+

【Java基础】Java 中的 static 关键字

在 Java 的编程世界里,static关键字是一个非常重要且实用的特性。它就像是一把神奇的钥匙,能够改变变量、方法、代码块和内部类的性质和行为。static关键字在 Java 中是一个非常强大的工具,它可以修饰成员变量、成员方法、代码块和内部类,改变它们的性质和使用方式。静态变量和静态方法属于类本身,所有对象共享静态变量,通过类名可以直接调用静态方法。静态代码块在类加载时执行,用于初始化静态变量或执行一次性操作。静态内部类不依赖于外部类的实例,可以直接创建对象。

小李同学的博客 2304

从零到一:AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配与避坑指南

本文详细介绍了AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配全流程,包括环境准备、源码编译、内核API变更处理及常见问题解决方案。重点针对驱动适配中的符号导出、设备ID识别和固件加载等核心挑战提供实用指南,帮助开发者高效完成硬件驱动兼容性调试。

k8l9m0n的博客 1029

java中的Static、final、Static final各种用法

前言 对Static、final、Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从容的回答… static 加载:static在类加载时初始化(加载)完成 含义:Static意为静态的,但凡被static 修饰说明属于类,不属于类的对象。 可修饰:Static 可以修饰 内部类、方...

宜春 4万+

Wireshark 4.6 TCP 流图解析:3种拥塞控制算法可视化对比

本文深入解析Wireshark 4.6的TCP流图功能,通过可视化对比Reno、Cubic和BBR三种主流拥塞控制算法的性能特征。文章提供详细的实验环境搭建方法、流图分析工具使用技巧,以及算法调优建议,帮助网络工程师优化TCP性能。

weixin_29291573的博客 447

使用 VPN 访问太理内部网相关问题总结【太原理工大学】

电脑连接 VPN,访问校园内部网相关问题总结,太原理工大学。

m0_52861684的博客 9885

深度理解Java中的static

目录 一、static的用法: 二、static的误区(问题思考) 三、问题思考: 一、static的用法: static可以用来修饰类的成员方法、类的成员变量、类中的内部类(以及用static修饰的内部类中的变量、方法、内部类),另外可以编写static代码块来优化程序性能。 作用: 方便在没有创建对象的情况下来进行调用(方法/变量)。 被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。 ①修饰类的成员变量: static.

Ariel_欢 1万+

Arm Neoverse CMN-700 SLC内存系统与缓存分区技术解析

现代处理器架构中,缓存一致性协议与内存子系统设计直接影响系统性能。Arm Neoverse CMN-700采用的SLC(System Level Cache)通过16-way组相联设计实现高效数据缓存,其物理地址索引机制支持灵活的way分区配置。在软件可配置内存(OCM)模式下,SLC可作为独立内存空间使用,通过寄存器控制实现模式切换与区域锁定。缓存分区技术则通过请求源分类和way-based分配策略,满足实时性任务与吞吐量场景的不同需求。这些技术在5G基站、边缘计算等低延迟场景中具有重要应用价值,特别是C

weixin_30263073的博客 623

java中的static和final

一、final   根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。  final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改

6202

手把手教你学Simulink--基础储能管理场景实例:基于Simulink的锂电池健康状态(SOH)在线评估仿真

本文详细介绍了基于Simulink的锂电池健康状态(SOH)在线评估仿真方法。主要内容包括:1)SOH定义与量化指标(容量SOH、内阻SOH及综合SOH);2)基于Thevenin模型参数辨识和递推最小二乘法(RLS)的在线评估原理;3)100次充放电循环的仿真场景设置;4)Simulink建模步骤(主电路搭建、核心模块实现及信号流连接);5)仿真结果分析,显示SOH评估误差<2%,响应时间45秒,满足在线评估需求;6)提出多参数融合评估、深度学习辅助辨识等优化方向。该方法为储能系统寿命管理提供了有效

MHD0815的博客 182

【我的Android进阶之旅】异常: Problems reading data from Binary store in Local\Temp\gradlexxx.bin (exist: true)

一、异常描述 今天开个会议,电脑自动关机了,重启电脑之后,打开Android Studio,编译代码,就编译失败,如下所示:异常提示 : Caused by: java.lang.RuntimeException: Problems reading data from Binary store in C:\Users\000\AppData\Local\Temp\gradle6337489649031706149.bin (exist: true) Caused by: java.lang.Runtime

字节卷动 3826

java中static归纳总结

在《Java编程思想》P86页有这样一段话:  “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”  这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:  方便在没有...

qq_41457412的博客 2万+

手把手教你完成YOLOv8 PyQt5和PySide6目标检测界面搭建,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 PyQt5,构建了一个图形化界面,便于用户进行目标检测的操作和展示,实现对图片、视频和摄像头的实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持目标检测、目标分割等模型进来检测

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

Java的static

静态方法:使用类名调用,属于类的所有实例共享。实例方法:需要创建对象后调用,属于特定对象的状态和行为。在 Java 中,static是一个关键字,用于定义类级别的成员(方法和变量)。以下是关于static静态变量(在栈区的静态区)定义:用static修饰的变量,属于类本身,而不是类的实例。特性:被该类的所有对象共享。只在类加载时初始化一次。访问:既可以通过实例的对象名调用,也可以通过类名直接访问,例如。静态方法(和类中的其他方法一样,在方法区)定义:用static。

2302_81034736的博客 2883

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java中Static的作用

Static是静态修饰符,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。 1、修饰成员方法 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这...

总有刁民想害朕 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java中的静态static关键字

初学java的朋友会将java中的static与C/C++中的static关键字的功能混淆了。在这里只需要记住一点:与C/C++中的static不同,Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字,并且在C/C++中static是可以作用域局部变量的,但是在Java中切...

宜春 5391

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java static关键字的作用是什么_java中的static关键字

一、static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量...

weixin_39917090的博客 3221

java中的static

Java中Static static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象

飒风秋鸽的专栏 683

c static java static_C C++ Java中的static

【原文出处】:http://hi.baidu.com/aezealer/blog/item/fb8fdd438113c8169213c6c5.html术语“static”有段不寻常的历史。起初,在C中引入关键字static是为了表示退出一个块后仍然存在的局部变量。在C中static实际通常有两种含义:一是在声明局部变量时,表示该局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放...

weixin_39719165的博客 192

java中的static关键字

​ 在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。​ Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。

雨溪的博客 908

java static int a_java中static作用详解

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任...

weixin_32365089的博客 3260

Java中的static

学习本文你到底要学到什么: 1、 static在java中到底代表什么,为何要用它? 2、 static在java中怎么用? 3、 static 有那些特点和使用的“局限” 1、 static在java中到底代表什么,为何要用它?       static――静态――“指定位置“       首先,我们来看看java的内存:java把内存分为栈内存和堆内存,栈内存用来存放一些基本类型的

水寒 2933

java 中static 类详解_java中的static详解

java中的static详解如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量,例如:声明...

weixin_27012835的博客 2023

java static final 内存_Java中的static和final

java中的static和final此篇文章是记录我在学习Java中static和final关键字的笔记。static:一、static变量:按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是:对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态...

weixin_33321740的博客 213

JAVA中static、final、static final的区别

1 问题当我们在使用java写类的属性时总会用到很多的类型去修饰它,比如字符串String,整数型int,但是我们偶尔也会遇到 static、final、static final,那么他们的区别是什么呢?2 方法final final可以修饰属性、方法、类,局部变量(方法中的变量)。 final修饰的属性的初始化可以在编译期,也可以在运行期,但是在初始化后就不能改变了。final修饰的属性表明...

算法与编程之美 2104

java static 括号_Java中的 static{ …… } 是什么意思?

展开全部关于Java中的static{}块,通过调试以62616964757a686964616fe78988e69d8331333337396237下两个程序就能弄清楚用途:1、第一个小程序packagecom.babyDuncan.Sohu;publicclasstestStatic{static{intx=5;}staticintx,y;publicstaticvoi...

weixin_42524842的博客 709
上一篇: 考试归来
下一篇: 正则表达式的规则
不善^
博客等级 码龄18年 635粉丝 235原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值