Java 面向对象进阶 01(黑马)

static案例代码:

代码:

public class Student {private String gender;private String name;private int age;public static String teacherName ;public Student() {}public Student(String gender, String name, int age) {this.gender = gender;this.name = name;this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void study(){System.out.println(name + "正在学习");}public void show(){System.out.println(name + "," + age +","+ gender + ","+ teacherName);}
}
public class test{public static void main(String[] args) {Student.teacherName = "阿伟老师";//类名调用Student s1 = new Student();s1.setName("张三");s1.setAge(23);s1.setGender("男");//s1.teacherName="阿伟老师";对象名调用s1.study();s1.show();Student s2 = new Student();s2.setName("李四");s2.setAge(24);s2.setGender("男");s2.study();s2.show();}
}

运行结果:

static内存图:

在执行main方法的第一个语句时,是用类名调用了Student方法中的静态变量teacherNmae并赋值为阿伟老师,用到了Student这个类,所以就会把Student类的字节码文件加载到方法区,并在内存中创建了一个单独存放静态变量的空间,即为静态区。

在jdk8之前,静态区在方法区里面,在jdk8以后就存存放在了堆里面。

静态区随着类的加载而加载,只有new关键字执行了才有对象,所以静态变量优先于对象而存在的。

在堆中创建的空间,存储的是所有的非静态成员变量;

方法发执行完毕,出栈

静态:共享

在不同的场景下,思考是否可以共享;

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

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

相关文章

搭建Jmeter分布式压测与监控,轻松实践

对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题;如果当前架构快达到性能瓶颈了,是横向扩容性能提…

Linux实验记录:使用iptables

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注: 防火墙作为公网与内网的屏障&#…

DC-Windows备份(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 题目配置步骤在DC1上备份系统状态到D:\共享文件夹所有用户具有读/写权限验证查看DC1备份成功的截图在InsideCli上查看备份文件(查看文件夹安全属性)题目 在DC1上备份系统状态到D:\,…

【Vue】1-1、webpack的基本使用

一、什么是 Webpack 概念: webpack 是前端项目工程化的具体解决方案。 主要功能: 它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性能化等强大的功能。 好处: 让程序员把工作重心放到具…

【lesson1】高并发内存池项目介绍

文章目录 这个项目做的是什么?这个项目的要求的知识储备和难度?什么是内存池池化技术内存池内存池主要解决的问题malloc 这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc&#xf…

【开发效率|第1篇】多项目自动切换node版本

🚀 作者简介:程序员小豪,全栈工程师,热爱编程,曾就职于蔚来、腾讯,现就职于某互联网大厂,技术栈:Vue、React、Python、Java 🎈 本文收录于小豪的前端系列专栏&#xff0c…

DML的原理:一篇文章让你豁然开朗

推荐阅读 给软件行业带来了春天——揭秘Spring究竟是何方神圣(一) 给软件行业带来了春天——揭秘Spring究竟是何方神圣(二) 文章目录 推荐阅读DML 数据操纵语言INSERT语句UPDATE语句DELETE语句SELECT语句 DML 数据操纵语言 DML是…

网络协议与攻击模拟_11DHCP欺骗防护

开启DHCP 监听 ip dhcp snooping 指定监听vlan ip dhcp snooping vlan 1 由于开启监听后,交换机上的接口就全部变成非信任端口, 非信任端口会拒绝DHCP报文,会造成正常的DHCP请求和响应都无法完成。 现在是请求不到IP地址的,…

C语言——文件操作(看这一篇就够了)

1、为什么使用文件? 我们前面学习结构体,在写通讯录的时候会发现一个问题,我们向通讯录里面录入数据,当程序退出的时候,记录的数据也随之没有了,等下次我们在再调用通讯录时,又得重新录入数据&…

安徽省考报名流程及注意事项,看完就稳了!

2024安徽省考报名入口已开通, 报名易出错的问题图解√ 省考报名时间:1月29日9:00至2月4日20:00 选调生报名时间:1月29日9:00至2月4日17:30 省考资格初审时间:2月6日16:00前 选调生资格初审时间:2月6日12:00前 省考缴费时间:2月8日20:00前 选调生缴费时间:2月8日17:0…

vit细粒度图像分类(六)TransFC学习笔记

1.摘要 从判别局部区域学习特征表示在细粒度视觉分类中起着关键作用。利用注意机制提取零件特征已成为一种趋势。然而,这些方法有两个主要的局限性:第一,它们往往只关注最突出的部分,而忽略了其他不明显但可区分的部分。其次,他们…

矩阵键盘的使用

在定义局部变量时,一定要给该变量赋初值。在这个程序中,给按键按下的返回值变量 KeyNum 赋值为 20 。 矩阵键盘线行扫描法的学习链接:https://www.bilibili.com/video/BV1dv411z7Gd/?spm_id_from333.999.0.0&vd_sourceb91967c499b23106…