Java 学习和实践笔记(20):static的含义和使用

static的本义是静止的。在计算机里就表示静态变量。

在Java中,从内存分析图上可以看到,它与类、常量池放在一个区里:

从图可以看到,普通的方法和对象属性,都在heep里,而static则在方法区里。

static声明的属性或方法:静态变量,又叫类变量)、静态方法(又叫类方法)s
静态变量/静态方法生命周期和类的生命周期相同,在整个程序执行期间都有效。

它有如下特点:

1) 为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化。

2) static 成员变量只有一份。
3)一般用“类名.类属性(又叫类变量,变量=属性)/方法”来调用。
4) 在static方法中不可直接访问非static的成员。

public class TestStatic {int id;String name;static String company = "AP";//这就是定义一个静态变量public TestStatic(int id, String name) {//定义一个对象构造器this.id = id;this.name = name;}public void login(){//定义一个普通的方法System.out.println(name);}public  static void  printCompany(){ //定义一个静态方法//loign();//静态方法里不能直接调用普通方法System.out.println(company);//在静态方法里可以调用静态变量}public static void main(String[] args) {TestStatic u = new TestStatic (101,"Jason");//定义一个TestStatic的类对象uTestStatic.printCompany();//直接执行类的方法TestStatic.company = "剑桥";//更改类的静态变量的值TestStatic.printCompany();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/700886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型

专属领域论文订阅 VX 关注{晓理紫},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 如果你感觉对你有所帮助,请关注我,每日准时为你推送最新论文。 分类: 大语言模型LLM视觉模型VLM扩散模型视觉语言…

API接口开发采集淘宝商品详情页数据优惠券sku价格销量信息等可支持高并发接入演示

要知道,要开发一个API接口用于采集淘宝商品详情页数据(如优惠券、SKU、价格、销量信息等),并支持高并发接入,你需要考虑以下几个步骤: 需求分析: 确定你需要从淘宝商品详情页采集哪些具体信息。 遵守法律法…

STL - 并查集

1、并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合;开始时,每个元素自成一个 单元素集合,然后按一定的规律将归于同一组元素的集合合并;在此过程中要反复用到查询某一 个元素归属于那个集合的…

Ps:明度直方图

明度 Luminosity直方图显示了图像中各个亮度级别的像素分布情况。 与 RGB 直方图不同,“明度”直方图专注于图像的亮度信息,而不是单独的颜色信息。 在“直方图”面板的通道中选择“明度”。 “明度”直方图提供了一种量化的方式来理解图像的整体明暗结构…

Excel多表格多工作簿合并

Excel多表格、多工作簿合并 直接通过“数据”栏目内置的“新建查询"可以实现,参考: https://blog.csdn.net/qq_42692386/article/details/116231710 一. 单工作簿多工作表合并 点击【数据】>【获取数据】>【来自文件】>【从工作簿】&am…

速度提高100倍 - 扩展 RAG 应用程序,以实现数十亿个嵌入,并行计算余弦相似度

原文链接:100x Faster — Scaling Your RAG App for Billions of Embeddings 2024 年 2 月 15 日 RAG应用程序最大的问题之一是它们的计算检索时间。想象一下,你有一个向量数据库,包含一万亿条Embedding向量的记录。当您尝试将用户查询与一…

idea 打jar包、lib文件夹

idea目录文件 idea四层级结构 idea操作Java文件的基本单位:项目(Project)。对应四级结构 第1层级架构:项目(project) 在 IntelliJ IDEA 中Project是最顶级的结构单元,然后就是Module&#xf…

Llama中文大模型-模型+工具(外延能力)

除了持续增强大模型内在的知识储备、通用理解、逻辑推理和想象能力等,未来,我们也会不断丰富大模型的外延能力,例如知识库检索、计算工具、WolframAlpha、操作软件等。 我们首先集成了LangChain框架,可以更方便地基于Llama2开发文…

MySQL知识点总结(六)——InnoDB底层架构

MySQL知识点总结(六)——InnoDB底层架构 InnoDB底层架构总览InnoDB底层各组件分析Buffer PoolChange BufferLog BufferAdaptive Hash IndexSystem TablesapceUndo TablespacesRedo Log InnoDB底层架构总览 关于InnoDB底层架构,网上有一张非常…

JS基础之常用方法

JS基础之常用方法 目录 JS基础之常用方法字符串数字布尔数组 字符串 length: 返回字符串的长度 var sen " Hello World" console.log(sen) // Hello World console.log(sen.length) // 12trim():去除首尾空格 var sen " Hello World" console.log(se…

电脑常见问题及解决方法

如何速度定位电脑故障? 根据开机报警的声音,判断硬件的问题。AMI BIOS 1 短——内存刷新失败 2 短——内存ECC 校验错误 3 短——系统基本内存[检查失败 4 短——系统时钟出错 5 短——中央处理器错误 6 短——键盘控制器错误 7 短——系统实模式…

Linux之JAVA环境配置Tomcat离线安装与启动

一,安装jdk和Tomcat 1.1上传JDK跟Tomcat 1.2解压 解压tomcat tar -zxvf apache-tomcat-8.5.20.tar.gz 解压jdk tar -zxvf jdk-8u151-linux-x64.tar.gz 1.3.配置环境变量 vim /etc/profile 在最后加上: #java environment export JAVA_HOME/usr/local/ja…

异步框架Celery在Django中的运用

参考博客:https://www.cnblogs.com/pyedu/p/12461819.html 参考视频:01 celery的工作机制_哔哩哔哩_bilibili 定义:简单灵活、处理大量消息的分布式系统,专注于实时处理异步队列,支持任务调度 主要架构: …

Linux的信号

Linux的信号是一种用于进程之间通信的机制。它们用于向进程发送通知,告知进程发生了某种事件或请求进程执行某个操作。信号可以由内核、其他进程或进程自身发送。 信号的作用有以下几个方面: 通知进程某个事件的发生,如进程的终止、挂起、恢…

springboot/ssm来访管理系统Java访客预约来访登记系统web

springboot/ssm来访管理系统Java访客预约来访登记系统web 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysq…

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

Android 跨进程通信技术优劣分析

一、引言 在Android开发中,跨进程通信(IPC)是一项常见的任务,用于在不同的应用程序或组件之间交换数据。有多种IPC机制可供选择,每种机制都有其优势和劣势。以下是对几种常见IPC技术的分析。 二、跨进程通信 2.1、Bi…

【软件使用】postman使用教程

​ 🍎个人博客:个人主页 🏆个人专栏:软件安装及使用 ⛳️ 功不唐捐,玉汝于成 ​ 目录 前言 正文 步骤1:安装Postman 步骤2:发送请求 步骤3:管理环境变量 步骤4&#xff1…

Leetcode 26-30题

删除有序数组中的重复项 给定一个有序数组,要求原地删除重复出现的元素,返回删除后的数组的长度。 这里的原地删除其实可以这样表示,用双指针从前往后扫一遍,遇到新的没出现过的元素就放到前面去,就可以实现删除后的数…

Linux线程同步(2)死锁与互斥锁

死锁(Deadlock)是指两个或两个以上的进程(或线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了…