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.mzph.cn/news/656874.shtml

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

相关文章

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

专属领域论文订阅 VX 关注{晓理紫},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 如果你感觉对你有所帮助,请关注我,每日准时为你推送最新论文。 为了答谢各位网友的支持,从今日起免费…

费一凡:土木博士的自我救赎之道 | 提升之路系列(五)

导读 为了发挥清华大学多学科优势,搭建跨学科交叉融合平台,创新跨学科交叉培养模式,培养具有大数据思维和应用创新的“π”型人才,由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

Linux true/false区分

bash的数值代表和其它代表相反:0表示true;非0代表false。 #!/bin/sh PIDFILE"pid"# truenginx进程运行 falsenginx进程未运行 checkRunning(){# -f true表示普通文件if [ -f "$PIDFILE" ]; then# -z 字符串长度为0trueif [ -z &qu…

时序数据库 Tdengine 执行命令能够查看执行的sql语句

curl是 访问6041端口,在windows系统里没有linux里的curl命令,需要用别的工具实现。我在cmd里是访问6030端口 第一步 在安装是时序数据库的服务器上也就是数据库服务端 进入命令窗口 执行 taos 第二步 执行 show queries\G;

jsjiami.v6加解密教学

1. 优点 a. 安全性提升 JavaScript 加密可以有效保护源代码,减少恶意用户的攻击风险。 b. 代码混淆 通过混淆技术,可以使代码变得难以阅读和理解,增加破解的难度。 c. 知识产权保护 对于商业项目,JavaScript 加密有助于保护…

Abp 创建一个WPF的项目

开发环境:VS2022、.NET6 1、创建项目:MyWpfApp,这里不再废话了。 2、NuGet添加: 2.1、Volo.Abp.Autofac 2.2、Serilog.Sinks.File 2.3、Serilog.Sinks.Async 2.4、Serilog.Extensions.Logging 2.5、Serilog.Extensions.Hos…

低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别

低功耗蓝牙(BLE) vs 经典蓝牙(SPP) 区别项低功耗蓝牙(BLE)经典蓝牙(SPP 串行端口协议)蓝牙版本蓝牙版本 > 4.0,又称蓝牙低功耗、蓝牙智能经典蓝牙2.0 或更早版本,经典配对模式在两台蓝牙设备之间建立虚拟串口数据连接,提供一种简单而直接…

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

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

消息中间件RabbitMQ介绍

一、基础知识 1. 什么是RabbitMQ RabbitMQ是2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,简称MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,由Erlang(专门针对于大…

sqli-labs部署及sqli-labs靶场第一关

部署 一、环境安装 1.下载phpstudy,下载链接:小皮面板(phpstudy) - 让天下没有难配的服务器环境! ,傻瓜式的安装过后打开软件进入如下界面,我们开启nginx和mysql !!!&#xff0…

金蝶云星空AppDesigner.AppDesignerService.RecordCurDevCodeInfo RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

第38期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

STL-priority_queue

文档 目录 1.关于priority_queued1的定义 2.priority_queue的使用 1.关于priority_queued1的定义 1. 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。 2. 此上下文类似于堆,在堆中可以随时插入元…

uniapp将方法挂载到全局

前言 首先需要有一个自己封装的方法,话不多说,直接上代码! 方法文件(common.js) const getnav (page, type, param token) > {// type 判断是否 需要验证登录if (!page) return uni.showModal({title: 提示,content: 功能暂未开通~,showCancel: false})let user uni.g…

什么是数据API接口,数据API有哪些应用?

​自2020年4月“数据”正式被纳入生产要素范围以来,已经和其它生产要素一起融入经济价值创造过程,近年来我国数据交易市场规模迅速增长,数据需求逐年扩增,“数据”日益成为推动数字中国建设和加快数字经济发展的重要战略资源。 作…

JAVA和C#怎么开发SECS/GEM:recipe配方处理 S7F1、S7F19

recipe是什么内容呢? recipe是机台加工不同产品时的对应程式,指的是由制造工程师提前在机台上设置,并且EAP控制生产时会自动根据货的类型选择并控制机台按照制造工程师提前设置的方式进行加工。 recipe也称为配方,配方是怎么来的…

自学C语言-7

第7章 循环控制 生活中总会有许多简单而重复的工作,为完成这些重复性工作,需要花费很多时间。使用循环语句来处理程序开发中简单、重复性的工作是最好不过的了。 本章致力于使读者了解while、do…while和for3种循环结构的特点,以及转移语句的…

python绘制螺旋线

看书看到的,好有意思 import turtle colors [red,purple,blue,green,yellow,orange] t turtle.Pen() turtle.bgcolor(black) for x in range(360):t.pencolor(colors[x % 6])t.width(x/1001)t.forward(x)t.left(59) 这是效果图,真好看 import turtle …

新建VM虚拟机-安装centOS7-连接finalshell调试

原文 这里有问题 首先进入/etc/sysconfig/network-scripts/目录 cd /etc/sysconfig/network-scripts/ 然后编辑文件 ifcfg-ens33 vi ifcfg-ens33

时间复杂度解释

时空复杂度概述 首先o(1), o(n), o(logn), o(nlogn)是用来表示对应算法的时间复杂度,这是算法的时间复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行这个算法所需要…