12.Java基础概念-面向对象-static

news2024/11/16 2:21:49

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

Facts speak louder than words!


一、static关键字的含义

  • 在Java中,static关键字用于修饰类、方法和变量
  • static既可以用来修饰成员变量也可以用来修饰成员方法
  • static修饰的成员变量叫作静态成员变量(类变量),修饰的成员方法叫作静态成员方法(类方法)
  • static修饰后的成员变量可以被类的所有对象共享(访问,修改),但注意它不属于某一个对象。⭐


二、static修饰成员变量

static修饰的成员变量是静态成员变量,它是属于类的,只加载一次,内存中只有一份

访问格式:

类名.静态成员变量名

使用场景:
静态成员变量:表示如班级等类的所有对象共享的信息时。

静态成员变量的特性:
不属于某个对象,是类的属性,所有对象共享的,不存储在某个对象的空间中
即可以通过对象进行访问,也可以通过类进行访问
类变量存储在方法区中
随类的加载而加载,随类的销毁而销毁

public class Person {
 
	 String name; 
	 int age;
	 static String city = "苏州";  // 静态变量,属于类,所有对象共享。
	 
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	
	public void  talk() {
		System.out.println("我是:"+this.name + " 年龄:"+this.age+" 来自:"+city);
	}
	
	public static void main(String[] args) {
		Person p1 = new Person("张三",18);
		Person p2 = new Person("李四",19);
		p1.talk();
		p2.talk();
	}
	
	 
}

三、static修饰成员方法

static修饰的成员方法是静态成员方法,是属于类的方法。

访问格式:

类名.静态成员变量

使用场景:

该方法是一个公用的功能,比如说话talk。

静态成员方法的特性:
不属于某个对象,是类方法
即可以通过对象进行访问,也可以通过类.方法名进行访问
不能在静态成员方法中访问任何非静态成员变量

public class Person {
	
	 String name;
 
	static String city = "深圳"; 
	 
	public void say(String name) {
		this.name = name;
		
	}
 
	public static void  talk() {
		//say("张三");//静态方法不能调用非静态方法,编译不通过
		//this. 不能使用this关键字
		//super.不能使用super关键字
		System.out.println("我来自:"+city);
	}
	
	public static void main(String[] args) {
		talk(); //没有实例化对象,talk方法就可以直接使用
	}
	
	 
}

 四、static修饰代码块

        static 修改代码块称为静态代码块。静态代码块,是 Java 类中的 static{ } 修饰的代码。用于类初始化时为类的静态变量赋初始值,提升程序性能

public class Person {
	
	static { // 静态代码块
		
	}
	 
}

五、static修饰内部类

static修饰内部类称为静态内部类,在创建内部类的实例时,不需要创建外部类的实例

public class Outer {
    static class Inner {

    }
}
     class OtherClass {

    //在创建静态内部类的实例时,不需要创建外部类的实例
    Outer.Inner inner = new Outer.Inner();

}

题外话:

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥The road is long and the line is coming,让我们一起加油吧!🌙🌙🌙

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

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

相关文章

葡萄叶病害检测系统源码分享

葡萄叶病害检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

无人机之飞行高度篇

无人机的飞行高度受到多种因素的制约,包括无人机本身的性能、无线信号的强度与稳定性,以及国家相关的法律法规等。具体而言,不同类型的无人机有不同的飞行高度限制: 微型无人机:飞行高度一般不得超过50米。这类无人机…

新生们必看!大学开学必备清单,教你快人一步适应学校生活

新生们,开学的脚步临近,你们是否已经准备好迎接全新的校园生活了呢?即将是一段充满挑战和机遇的旅程,为了让大家能够更快地适应新环境,我们特别整理了大学开学必备清单,教你快人一步适应学校生活。新生们必…

[C语言]第十节 函数栈帧的创建和销毁一基础知识到高级技巧的全景探索

10.1. 什么是函数栈帧 我们在写 C 语言代码的时候,经常会把一个独立的功能抽象为函数,所以 C 程序是以函数为基本单位的。 那函数是如何调用的?函数的返回值又是如何待会的?函数参数是如何传递的?这些问题都和函数栈帧…

Flask-JWT-Extended登录验证

1. 介绍 """安装:pip install Flask-JWT-Extended创建对象 初始化与app绑定jwt JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外,你还可以指定其他的选项,例如:过期时间 (max_age)&…

VulhubSkyTower靶机详解

项目地址 https://download.vulnhub.com/skytower/SkyTower.zip项目配置 我们下载一个VirtualBox,这是官网 Downloads – Oracle VirtualBox 安装到默认路径就行 打开后点击注册 选择解压后的vbox文件 然后点击左上角管理 点击导出虚拟电脑,选中后…

Vue(12)——路由的基本使用

VueRouter 作用:修改地址栏路径时,切换显示匹配的组件 基本步骤(固定) 下载:下载VueRouter模块到当前工程引入安装注册创建路由对象注入,将路由对象注入到new Vue 实例中,建立关联 发现了#/表…

移动端如何实现智能语音交互

智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实…

CICD 持续集成与持续交付

目录 一 CICD是什么 1.1 持续集成(Continuous Integration) 1.2 持续部署(Continuous Deployment) 1.3 持续交付(Continuous Delivery) 二 git工具使用 2.1 git简介 2.2 git 工作流程 三 部署git …

IntelliJ IDEA 2024.1 新特性下载安装激活方法

概述 IntelliJ IDEA 2024.1 发布了一系列令人期待新特性,可以帮助您提高开发效率。比如:全行代码补全、SpringBean 补全和自动装配、多语句内联端点、新版终端、编辑器中粘性行、AI Assistant 编码助手、改进的日志工作流、重命名嵌入提示、为整行代码提…

【北京迅为】《STM32MP157开发板使用手册》- 第三十三章Cortex-M4 DMA实验

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

《锐捷AP 胖模式配置示例》

目录 WEB配置方式: 1. 登录 AP 管理界面 2. 配置无线服务 3. 配置射频参数 4. 配置 VLAN (如果需要) 5. 配置 IP 地址 6. 其他高级设置(根据需求) 命令行配置: 1. 进入特权模式 2. 进入全局配置模式 3. 配置管理 IP 地址 4. 创建无线 SSID 5. 配置 SSID 加密…

Selenium打开浏览器后闪退问题解决

笔者这两天在做一个自动化方案,用来优化数据统计。其中一部分数据需要通过云上堡垒机跳转访问,而这个堡垒机在笔者日常使用的火狐浏览器上运行不是很正常(表现在有些复制粘贴按钮显示不太灵敏)。 但在Edge浏览器上基本正常&#…

工行软件开发中心积极推进低代码平台建设,助力金融业务快速研发

工行软件开发中心融合现有研发体系,打造全链路可视化研发。平台整体架构建立于行内新一代前后端分离研发体系之上,引入可视化技术,构建业务研发资产,承接现有服务体系,基于数据模型驱动技术及代码扩展能力,快速实现应用开发,并整合行内研发支撑体系,实现应用的快速构建…

python定时发送邮件的功能如何实现自动化?

Python定时发送邮件教程?如何用Python发送电子邮件? Python定时发送邮件不仅能够帮助我们自动处理日常的邮件发送任务,还能在特定时间点触发邮件发送,确保信息的及时传达。AokSend将详细探讨如何利用Python实现定时发送邮件的自动…

开放式耳机好用吗?哪个开放式耳机好用?

现在市面上的开放式耳机真的越来越火了,所以很多小伙伴也会来问我,有哪些品牌值得入手,开放式耳机到底好不好用的这个问题,作为专业的开放式耳机测评博主对于这个问题当然是信手拈来啦,这篇文章就来告诉大家如何才能选…

算法基础-扩展欧几里得算法

扩展欧几里得 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int n in.nextInt();while (n-- > 0) {int a in.nextInt();int b in.nextInt();int[] m exgcd(a, b);System.out.println(m[0] " " m[1]);}}…

【ollama 下载不下来的问题解决】

国内从官网下载ollama经常遇到下载不下来,或者卡住的问题,今天给大家分享解决这个问题的方法。 官网 官网地址:https://ollama.com/download 但是官网地址,就一直卡住,一直下载不下来,所以选用下面的方法…

【精选书籍】ChatGLM3大模型本地化部署、应用开发与微调的全面解析

前言 大模型领域既是繁星点点的未知宇宙,也是蕴含无数可能的广阔天地,正是这一独特的魅力,令无数的探索者为之倾倒,为之奋斗。随着大模型应用逐渐走入人们的日常生活,支撑它的深度学习技术也开始登上更为广阔和深远的…

【C++】日期类基础题

个人主页:CSDN_小八哥向前冲~ 所属专栏:C入门 一些C基础题目,帮你巩固一下! 目录 关于内存问题 栈和堆基础问题 计算日期到天数的转换 日期差值 日期累加 打印日期 关于内存问题 答案:D B 第一题&#xff…