【Java】Static关键字与类的实例化

关键字:static

作用:主要用于内存管理

范围:可以用在变量、方法、代码块和嵌套类上。java关键字属于类,但不是类的实例。


类的成员变量包括:

【静态变量/类变量】指被static修饰的成员变量

运行时,只分配一次内存。在加载类的过程中完成静态变量的内存分配。

类的内部可以在任何方法中直接访问静态变量;其他类中可以通过类名访问该类的静态变量。

静态变量的最主要作用是节省内存空间。


【实例变量】:指没有被static修饰的成员变量

每创建一个实例,java虚拟机就会为实例变量分配一次内存。

类的内部可以在非静态方法中直接访问实例变量;本类的静态方法或其他类中需要通过类的实例对象进行访问。

类的方法包括:

【静态方法/类方法】:指被static修饰的成员方法

通过类直接调用,不需要创建类的对象。可以直接通过类名.方法名调用

静态方法中只能访问类成员变量,不能访问实例变量(同理,静态方法只能访问静态方法,而实例方法可以访问类方法和实例方法)

静态方法中不能使用super、this关键字

静态方法的调用通过类名.类方法和对象.类方法

public static void method1();

【实例方法】:指没有被static修饰的成员方法

可以直接访问所属类的静态变量、静态方法、实例变量和实例方法

实例方法只能通过对象.实例方法访问

实例方法可以被覆盖(静态方法不能被覆盖)

public void method2();

【构造方法】:指没有返回值(没有void)方法名与类名一样的方法

方法名与类名相同 不要返回类型(例如return、void等) 不能被static、final、native、abstract和synchronized修饰,不能被子类继承

public method(){};
类的实例化过程:

1)给对象分配空间,对属性按照类型进行默认初始化

2)加载父类->本类->子类静态代码块

3)初始化父类属性、父类构造代码块、父类构造方法。

4)初始化本类属性、构造代码块、构造方法。

5)初始化子类属性、构造代码块、构造方法。

总结:对象空间的分配和默认属性的初始化->静态代码初始化->属性、构造代码块、构造方法初始化(根据代码书写的先后顺序)

静态代码块若使用了某个静态成员变量,那么该静态成员变量一定比静态代码块先加载


附录一:关键字及作用分类(转载自尚硅谷《java从入门到精通》)

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python实现时间序列分析霍尔特季节性平滑模型(Holt算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 霍尔特季节性平滑模型是指数平滑技术的一种扩展形式,由E. S. Holt和P. R. Winters分别独立…

C语言系列-编译和链接

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” 目录 翻译环境和运行环境 编译环境 预处理(预编译) 编译 词法分析 语法分析 语义分析 汇编 链接 运行环境 翻译环境和运行环境 在 ANSIC 的任何一种实…

【Qt】图形视图框架 之 坐标

QGraphicsView移动图元/场景以及坐标转换 QGraphicsView图形视图框架使用(一)坐标变换 1.继承 QGraphicsProxyWidget 类 虚函数 mousePressEvent、mouseReleaseEvent 的参数 QGraphicsSceneMouseEvent event->pos() 是item坐标系*下的坐标,不是scene场景坐标系下…

鸿蒙新手入门-环境准备问题解析

Node.js版本与API配套关系 由于SDK的部分工具依赖Node.js运行时,推荐使用配套API版本的Node.js,保证工程的兼容性。 匹配关系见下表: API LevelNode.js支持范围API Level≤914.x(≥14.19.1)、16.xAPI Level>914.…

宠物赛道都卷出了哪些花样?媒介盒子分享

如今的宠物市场,已经从让宠物吃饱喝足的基本生理需求,拓展到五花八门的精神需求,与“马斯洛需求定理”高度一致。商家们看到宠物经济的潜力,不再满足于给人类造节,给毛孩子造节也是重中之重,今天媒介盒子就…

【Java EE初阶十六】网络原理(一)

在网络原理中主要学习TCP/IP四层模型中的重点网络协议 1. 应用层 1.1 应用程序与协议 应用层是和程序员接触最密切的; 应用程序:在应用层这里,很多时候都是程序员自定义应用层协议(步骤:1、根据需求,明确…

Faker遭受DDOS攻击,为什么它一直存在,当遇到ddos攻击怎么办?

二十年前中国红客们就在用的DDOS攻击,直到现在还依然是黑客们最爱的攻击方法,为什么它一直存在? Faker各位小伙伴们自然是相当熟悉了,素有着英雄联盟第一人之称的Faker,其所拥有的荣誉让无数职业选手望其项背&#xf…

如何理解CSS的边框宽度?

CSS 边框宽度学习手记 CSS 边框宽度小概念 在CSS的世界里,border-width这个属性真的很实用,它能帮我指定HTML元素四周边框的宽度。这个宽度嘛,可以用像素px、点pt、厘米cm、相对单位em这些来表示,很方便吧!还有呢&am…

Unity3D Shader 素描风格渲染管线实现详解

前言 在游戏开发中,渲染效果是非常重要的一部分,它可以直接影响游戏的视觉效果和玩家的体验。而素描风格的渲染效果是一种非常独特和有趣的风格,可以为游戏增添一种艺术氛围。在Unity3D中,可以通过编写Shader来实现素描风格的渲染…

三坐标测量机|全自主研发,实现高精度三维尺寸测量

三坐标测量机广泛应用在工业生产中,不仅可以提高生产效率,还能保证产品质量的稳定性。 基本原理和作用介绍 三坐标测量机是一种基于三维坐标系的精密测量仪器,可精确测量物体的尺寸、形状和位置。基本原理是利用传感器测量被测物体在三个方…

STM32学习笔记(七) —— DMA传输(MTM)

DMA,全称是Direct Memory Access(直接内存访问)。可以在存储器和存储器之间或者外设和存储器之间传输数据,而不需要CPU的干预,这样可以节省CPU的资源,提高工作效率。 1.功能框图 STM32F103RCT6有两个DMA控…

外汇天眼:8个平台被打击,有的因诈骗被处罚!

上周,澳大利亚证券和投资委员会(ASIC)取消了总部位于悉尼的Brava Capital的澳大利亚金融服务许可证(AFSL),意大利公司和交易委员会CONSOB则将6个非法投资平台网站列入黑名单。另外,Reiwa-Capita…

蓝桥杯:C++队列、优先队列、链表

C普通队列 算法竞赛中一般用静态数组来模拟队列,或者使用STL queue。使用C的STL queue时,由于不用自己管理队列,因此代码很简洁。队列的部分操作如下。 C优先队列 很多算法需要用到一种特殊的队列:优先队列。它的特点是最优数据…

C++智能指针的知识!

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 大家好呀,我是PingdiGuo_guo,今天我们来学习一下智能指针。 文章目录 1.智能指针的概念 2.智能指针的思想 3.智能指针的作用 3.1 自动内存管理 3.2 共享所有权 3.3 避免悬挂指针…

春节如此“热辣滚烫”,可别把赚钱的机会都让给别人!2024如果创业适合干什么,2024创业新风口

春节期间,在国外抨击我们的旅客不出去旅行,造成了1300亿损失的时候,国内的消费可谓是“热辣又滚烫”,一片勃勃生机的景象。 各个地方纷纷的“亮底牌、放大招”,举办各式各样丰富多彩的文化活动,还进行“农…

自动驾驶中的 DCU、MCU、MPU、SOC 和汽车电子架构

自动驾驶中的 DCU、MCU、MPU 1. 分布式电子电气架构2. 域集中电子电气架构架构2.1 通用硬件定义 3. 车辆集中电子电气架构4. ADAS/AD系统方案演变进程梳理4.1 L0-L2级别的ADAS方案4.2 L2以上级别的ADAS方案 5. MCU和MPU区别5.1 MCU和MPU的区别5.2 CPU与SoC的区别5.3 举个例子 R…

力扣题目训练(15)

2024年2月8日力扣题目训练 2024年2月8日力扣题目训练507. 完美数520. 检测大写字母521. 最长特殊序列 Ⅰ221. 最大正方形237. 删除链表中的节点115. 不同的子序列 2024年2月8日力扣题目训练 2024年2月8日第十五天编程训练,今天主要是进行一些题训练,包括…

基于Robei EDA--实现串口数据包接收

一、定义串口传输协议帧 控制字的数据大小为一字节,定义帧头为(0xFE 0xDF)帧尾为(0xEF) 模块框图 内模块:串口接收,output:8位data 串口命令:对单字节数据接收进行缓存…

去掉图片水印但是不伤原图?看完这些方法就知道了

小伙伴们,你们是不是经常在网上找一些好看的图片作为壁纸呢?有时候会遇到一些带着平台水印的图片,是不是觉得不太美观呢?别着急,其实我们可以使用一些去水印软件来将这些水印去除掉,让图片更加美观。那么&a…

贝塞尔曲线

一条 n n n 次贝塞尔曲线可以表示为 C ( u ) ∑ i 0 n B i , n ( u ) P i , 0 ≤ u ≤ 1 (1) \pmb C(u)\sum_{i0}^nB_{i,n}(u)\pmb{P_i},\quad 0\leq u\leq1\tag{1} C(u)i0∑n​Bi,n​(u)Pi​,0≤u≤1(1) 其中,基函数(也称为混合函数) {…