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

news2024/9/24 3:21:25

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.coloradmin.cn/o/1420891.html

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

相关文章

四、ES集群安全策略设置 X-pack

本文主要是结合ES集群搭建时使用,并且适用于ES7.x以上版本 背景及安全策略方案对比 ES 7.x以下版本默认几乎没有任何安全策略,如果集群IP、端口被暴露,在可访问的情况下任何用户都可以对索引进行管理以及数据的增删改查等,基于此需…

故障脚本的重要作用:预防、诊断与恢复

故障脚本是在信息技术和计算机领域中广泛使用的一种自动化工具,它们的主要目的是预测、诊断和修复系统或软件中的故障。这些脚本在现代技术环境中扮演着至关重要的角色,本文将介绍故障脚本的主要作用。 一、预防性作用 监控和预警 故障脚本可以用于监控系…

互联网加竞赛 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

idea创建golang项目

目录 1、设置环境 2、创建项目 3、设置项目配置 4、初始化项目 5、安装本项目的外部依赖包 6、运行项目 7、访问页面查看结果 1、设置环境 1 启用 Go Modules 功能go env -w GO111MODULEon 2. 阿里云go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct上述命…

string的基本概念及常用接口

string的基本概念 本质: string时C风格的字符串,而string本质上是一个类。 string和char*的区别: char*是一个字符指针。而string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特…

通过docker构建基于LNMP的WordPress项目

计划通过自定义网络模式,创建一个172.18.0.0/16网段 nginx:172.18.0.2:80 php:172.18.0.3:9000 mysql:172.18.0.4:3306 创建nginx的镜像 准备好nginx的安装包 准备nginx的网页目录和wordpress网站目录以及nginx.conf文件 编…

Mybatis-Plus基础

typora-copy-images-to: img Mybatis Plus 今日目标: 了解mybatisplus的特点能够掌握mybatisplus快速入门能够掌握mybatisplus常用注解能够掌握mybatisplus常用的增删改查能够掌握mybatisplus自动代码生成 1 MybatisPlus简介 1.1 MybatisPlus概述 ​ MyBatis-…

【开源】基于JAVA语言的就医保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…

Microsoft Edge 浏览器报错 提示不安全

网站提示不安全 是因为 Microsoft Edge 开了安全过滤 我们需要把这个关掉 打开浏览器的设置,然后 找到隐私选项 找到下边的Microsoft Defender Smartscreen 关掉 Microsoft Edge 支持 Microsoft Defender SmartScreen | Microsoft Learn win10系统下打开网页提示…

云服务器如何快速部署访问静态页面(个人网站博客等)

1,购买云服务器 2,配置安全项 云服务器ecs下,配置ip、端口所有人都可访问 3,关闭防火墙,将前端静态项目传输到云服务器上 可以使用SecureCRT,本地远程连接到服务器(需要用户名与密码&#x…

basic CNN

文章目录 回顾卷积神经网络卷积卷积核卷积过程卷积后图像尺寸计算公式:代码 padding代码 Stride代码 MaxPooling代码 一个简单的卷积神经网络用卷积神经网络来对MINIST数据集进行分类如何使用GPU代码 练习 回顾 下面这种由线形层构成的网络是全连接网络。 对于图像…

分享4种免费的平面图设计工具

从事设计行业的工人或多或少会接触到平面图。例如,在建造任何类型的建筑,如新房子、办公室和酒店,都需要使用平面图来确保项目的准确性。平面设计强调视觉传达。一般来说,设计的目的和信息是通过排版、配色、构图等技术手段传达的…

Git学习笔记(第10章):自建代码托管中心GitLab

目录 10.1 简介 10.2 安装 10.2.1 准备服务器 10.2.2 准备安装包 10.2.3 编写安装脚本 10.2.4 初始化GitLab服务 10.2.5 启动GitLab服务 10.2.6 使用浏览器访问GitLab 10.3 创建远程库 10.4 本地库推送到远程库 10.1 简介 GitLab是由GitLab Inc.开发,使用…

elasticsearch8.x版本docker部署说明和集成springboot

前提,当前部署没有涉及证书和https访问 1、环境说明,我采用三个节点,每个节点启动两个es,用端口区分 主机角色ip和端口服务器Amaster192.168.2.223:9200服务器Adata192.168.2.223:9201服务器Bdata,master192.168.2.224:9200服务器Bdata192.1…

服务和路由

Kong Gateway管理员使用对象模型来定义其期望的流量管理策略。在该模型中,两个重要的对象是服务(services)和路由(routes)。服务和路由被协调地配置,以定义请求和响应在系统中经过的路由路径。 下面的高级…

【数据结构 05】双链表

一、原理 双链表又称双向链表&#xff0c;通常情况下是带头循环结构&#xff0c;在CSTL标准模板库中封装的<list.h>头文件就是带头双向循环链表。 特性&#xff1a;增删灵活且高效&#xff0c;支持随机增删但不支持随机访问 设计思路&#xff1a; 链表包含一个头节点h…

webassembly003 whisper.cpp的main项目-1

参数设置 /home/pdd/le/whisper.cpp-1.5.0/cmake-build-debug/bin/main options:-h, --help [default] show this help message and exit-t N, --threads N [4 ] number of threads to use during computation-p N, --processors …

Linux:进度条的创建

目录 使用工具的简单介绍&#xff1a; \r &#xff1a; fflush &#xff1a; 倒计时的创建&#xff1a; 倒计时的工作原理&#xff1a; 进度条的创建&#xff1a; 不同场景下、打印任意长度的进度条&#xff1a; main .c procbor.c 测试效果&#xff1a; 使用工具…

EasyExcel通用导入 | 简单封装

0. 前言&#xff1a;1. 基本思路&#xff1a;2. 调用代码&#xff1a; 0. 前言&#xff1a; 之前做了好几个导入&#xff0c;用EasyExcel每次都要定义监听器去处理&#xff0c;就想能不能做个通用的方式&#xff0c;如下 1. 基本思路&#xff1a; 导入无非主要就是参数校验和数…

TypeScript(八) number和string

1. TypeScript number 1.1. 描述 Number对象是原始数值的包装对象。 1.2.语法 var num new Number(value);;注意&#xff1a;如果一个参数值不能转换为一个数字&#xff0c;将返回NaN&#xff08;非数字值&#xff09;。 1.3. 对象属性 属性描述MAX_VALUE可表示的最大的数…