java关键字static相关问题

内联函数online的定义和作用 说明: 内联函数是一个小型函数,以牺牲空间来节省函数调用带来的额外开销,一般用以比较小函数或者使用频率很高的函数,函数内部内部没有复杂的语句,如开关语句switch,循环语句for等 定义: (1)在 C++ 中,可以在定义函数时,在返回值类型前面加上 inline 关键字 inline int max() { ...... return 0; } (二)直接在类的内部进行函数的声明和定义,则默认其是内联函数 class A { public: int max() { ...... ret 阅读详情

No.1:总述

在java自定义类中可以使用static关键字来将需要的字段或方法定义为类数据和类方法。

No.2:对于static修饰的字段,可以通过两种方式来调用:

(1)类名.字段名(建议)

(2)类实例(对象)名.字段名


同一个类的所有对象将共享该类的静态(static)字段,或者说一个static字段对每个类来说都只有一份存储空间。比如:

//定义类StaticTest
Class StaticTest {
	static int I = 50;
}

//创建两个StaticTest对象
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();

在这里 ,st1.i和st2.i指向同一存储空间,它们具有相同的值50!

另,建议使用类名引用static变量的方式,不仅仅是因为这种方式强调了变量的static结构,而且在某些情况下这种方式还可以为编译器进行优化提供了更好的机会。

No.3:对于static修饰的方法,可以通过两种方式来调用:

(1)类名.方法名(建议)

(2)类实例(对象)名.方法名

No.4:static方法和非static方法之间相互调用的关系:

(1)static方法可以直接访问static字段或方法,若要访问非static字段或方法就必须创建相应类的对象。

(2)非static方法即可以直接访问static方法,也可以直接访问非static方法。

具体的区别详见下面这段代码:

public class StaticTest {
	
	public static void staticYes() {
		
		//直接调用static字段
		yesStatic = "test";//正确!
		
		//直接调用static方法
		staticYes();//正确!
		
		//直接调用非static字段
		noStatic = "test";//报错!(Cannot make a static reference to the non-static field)
				
		//直接调用非static方法
		staticNo();//报错!(Cannot make a static reference to the non-static method)
				
		//实例化该类,然后在调用非static方法
		StaticTest test = new StaticTest();
		test.staticNo();//正确!
	}
	
	public void staticNo() {
		
		//直接调用static方法
		staticYes();//正确!
		
		//直接调用static字段
		yesStatic = "test";//正确!
		
		//直接调用非static字段
		noStatic = "test";//正确!
		
		//直接调用非static方法
		staticNo();//正确!
	}
	
	public static String yesStatic = "static yes";//静态字段
	private String noStatic = "static no";//非静态字段
}



CTS实战:如何用set_sense优化时钟树平衡(附ICC2避坑指南) 本文深入探讨了在时钟树综合(CTS)中,如何正确使用`set_sense`命令优化时钟树平衡,并对比了其与`set_disable_timing`的本质区别。通过实战案例详细解析了`-stop_propagation`和`-clock_leaf`参数的应用场景,并提供了ICC2工具中的关键避坑指南,帮助后端工程师精准控制时钟拓扑,避免时序分析漏洞。 阅读详情

相关推荐

正点原子lwIP实战指南——从FreeRTOS移植到网络应用开发

本文详细介绍了如何将轻量级TCP/IP协议栈lwIP移植到FreeRTOS实时操作系统上,并基于正点原子STM32开发板进行网络应用开发。内容涵盖从使用STM32CubeMX快速搭建工程、核心概念解析(RAW/NETCONN/Socket API),到关键的系统适配、驱动实现,并通过TCP Echo服务器和云台控制两个实战案例,手把手指导读者完成从移植到应用开发的全过程,帮助嵌入式开发者快速掌握lwIP在FreeRTOS环境下的稳定部署与开发技巧。

s4t5u6v的博客 1000

C 语言 —— 内联函数(C99)

通常,函数调用都有一定的开销,因为函数的调用过程包括建立调用、传递参数、跳转到函数代码并返回。这个过程中 CPU 需要先将调用函数之前的一些环境到栈中,例如一些参数的值等,然后跳转到调用的函数的位置执行函数体中的运算,然后再从栈将函数调用的环境恢复,再执行函数调用之后的代码。 如果调用的函数很简单,只有几行代码量,那么函数调用中的开销就会在整个函数调用过程中占据一个比较大的比例,这时候就不如直接将这几行代码写在程序中,而不是将其作为函数。 int sum(int a, int b) { return a+b

柚咖小窝 1876

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

通过实时分析和处理井下视频资料,智慧矿山算法视频分析服务器不仅能够及时发现并预警人员违规行为和设备异常状况,还能够通过智能分析预防潜在的安全风险,从而显著提高煤矿的安全管理水平和生产效率。

EasyDarwin开源社区技术博客 560

c语言static. volatile,static,const,volatile 在C语言中的作用

关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数...

weixin_42506706的博客 422

Fluent 2.5D动网格重构实战:涡旋压缩机复杂运动模拟指南

本文详细解析了Fluent 2.5D动网格重构技术在涡旋压缩机复杂运动模拟中的应用。通过对比传统方法,2.5D重构显著提升了计算效率和稳定性,特别适用于柱体类几何的网格处理。文章提供了从基础配置到参数优化的实战指南,包括关键设置步骤、常见问题排查及性能优化策略,帮助工程师有效解决动网格重构中的负体积和网格畸变问题。

weixin_28455801的博客 549

深入解析组合逻辑环(combinational loop)的成因与解决方案

本文深入解析了数字电路设计中组合逻辑环(combinational loop)的成因与危害。通过边沿检测和中断轮询(round_robin)仲裁器等实例,揭示了代码如何意外形成环路,并对比了插入触发器、重构逻辑以及状态机思维三种核心解决方案,帮助硬件工程师从根本上避免这一常见设计陷阱,确保电路稳定可靠。

weixin_28278377的博客 313

Java中static关键字解析以及类加载顺序例题

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

许小P的临时充电站 1803

docker部署neo4j,设置密码。Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authenti

卷,设置NEO4J_AUTH将不会起作用,因为该数据库已经配置了身份验证。Neo4j Docker 服务将会启动,但您需要使用已与该数据库关联的用户名和密码才能登录。这里,使用了环境变量NEO4J_AUTH,设置了用户名为neo4j,密码为neo4jneo4j。这个命令还是比较全的,包括设置密码,设置端口,挂载外部的数据目录等。原因嘛,就是使用docker创建的neo4j,登录不上。把👆提到的外挂的数据,都清空了,再重新来一遍。有一种情况下,这样设置密码,并不会成功。如果不出意外,目前就算大功告成了。

xiezhipu的博客 563

java(2) static关键字

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

qq_36098284的博客 189

2026年运维工程师常见面试选择题

这篇文章总结了30道Linux运维面试常见问题及解析,涵盖基础命令、系统监控、故障排查、数据库、缓存、容器编排等多个方面。主要内容包括: 基础命令使用:如df查看磁盘、free查看内存、top监控进程等 系统监控与故障排查:负载判断、端口检查、进程管理等 中间件相关:Nginx状态码、MySQL主从复制、Redis缓存问题 容器技术:Docker优势、Kubernetes作用 运维理念:高可用、监控告警、发布策略、备份容灾 工作原则:故障处理优先级、运维工程师核心能力 文章不仅提供标准答案,还解析了各命令的

不务正业的猿 193

手把手教你学pcie--用Verilog搭建PCIe控制器核心模块

PCIe控制器是硬件设计的核心模块,负责实现设备与主机之间的高速通信。本文将以Verilog语言为例,分步骤讲解如何从零构建一个简化的PCIe控制器核心模块,涵盖事务层(TLP)生成、数据链路层(DLLP)处理和物理层(PHY)接口适配。目标是为嵌入式开发者、FPGA工程师提供一个可扩展的硬件设计框架。​。

MHD0815的博客 340

Java中的static关键字解析

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。我们在创建类,创建对象使用成员方法,成员变量的时候经经常会用到static关键字,这个关键字也是有一些使用权限的   以下是本文的目录大纲: 一.sta...

ShiXinXin_Harbour的博客 167

3、灵巧手的设计与构造

本文详细探讨了灵巧手的设计与构造,包括多指结构、关节和连杆设计、传感器集成以及分层控制架构等内容。同时,通过工业装配、医疗手术辅助和日常生活辅助等实际应用案例,展示了灵巧手的灵活性和适应性,并分析了当前设计面临的挑战及未来发展方向。

brandy的博客 491

java基础--static关键字

JVM类加载机制: 我们知道,JVM类的加载(在实例化之前,是加载阶段,指将类加载到JVM数据区中,会执<client>()方法;实例化则执行的是成员的实例化方法<init>())分为五个步骤。 1、加载:该阶段是类加载过程中的一个阶段。在此阶段中,会生成一个java.lang.Class对象,作为方法区各个数据的入口。注意这里不一定非得要从一个Class文件获取,这里既 可以从ZIP包中读取(比如从jar包和war包中读取),也可以在运行时计算生成(动态代理), 也可以由.

软件工程 336

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java当中的static关键字详解

java当中的static关键字详解 原文连接: Java static关键字详解 Java中的static关键字解析及面试经验 文章目录java当中的static关键字详解前言一、static关键字的用途static方法static变量static块二、static常见笔试面试题 前言 一旦用了static关键字那么这样的内容将不在属于对象自己,而是属于类的,多个对象都可以共享。 Static修饰的变量叫做全局变量 一旦使用static修饰成员方法,那么就成为了静态方法,静态方法不属于对象,而

weixin_52450674的博客 151

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java基础:Java中的static关键字解析

     static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:   一.static关键字的用途   二.static关键字的误区   三.常见的笔试面试题   若有不正之处...

JackWangDev的博客 579

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大话Static关键字篇

Static 篇,这里是我总结的关于Static的一些知识点,望对大家有所帮助,当然可能有错误点希望大家体谅! 1.static关键字的用途 简言之,Static就是在没有创建对象的情况下调用(方法/变量) 很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。 static可以用来修饰类的成员方法、类的成员变量,另外可以编

WGYH_3767的博客 332
上一篇: java 变量初始化默认值相关问题
下一篇: 括号匹配问题
踏雪却无痕
博客等级 码龄14年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值