Java基础之static关键字

2023-10-31

友情提醒

先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

静态的特点

随着类的加载而加载,优先于对象存在,对所有对象共享,可以被类名直接调用

第一章、静态代码块

① 静态代码块static修饰的代码块,直接写在类中的代码块。
在类加载的时候执行,只执行一次,通常用于初始化静态变量,它比main还先执行,执行顺序是静态代码块–构造方法

public class Test {
    static {
        System.out.println("类加载的时候执行");
    }
}

第二章、静态属性

Java成员变量根据修饰符不同又分为实例变量和类变量(静态变量被static修饰)。
成员变量包含类变量。可以被该类的所有实例对象所共享。
​​在这里插入图片描述

第三章、静态方法

调用静态方法时

static关键字声明方法:可以在不创建对象的情况下,直接使用类名.方法名()的形式调用,静态方法只能访问静态成员

public static String m2(){
        //不同类中时,可以在不创建对象的情况下,通过(类名.方法名)进行调用。
        类名.m1();

静态方法中调用非静态方法时

需要通过对象进行调用.例如m2是非静态方法,
我们new一个对象出来驱使这个对象去调用

class TestMethod_3 {
	public static void main(String[] args) {
		 TestMethod t3 =new TestMethod();//new对象
       	 t3.m2();
    }
	public String m2() {
       	 //m2是非静态方法
    }
}

第四章、static关键字与其他关键字

abstract修饰的方法是否可同时是static或native或是synchronized?

①abstract与static不能同时使用
static关键字修饰的成员是属于类的,其可以直接被类所调用。而abstract修饰的方法为抽象方法为了让子类继承后重写该方法,即无方法体的方法,不能够被直接调用,需要在子类或实现类中去编写完整的方法处理逻辑后才能使用。
②native与abstract不能共用
表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。
③synchronized和abstract不能共用
abstract方法只能存在于抽象类或接口中,它不能直接产生对象,而默认synchronized方法对当前对象加锁,没有对象是不能加锁。另外synchronized不能被继承,子类继承时,需要另加修改符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础之static关键字 的相关文章

  • Objective-C 相当于 Java 枚举或“静态最终”对象

    我试图找到一个与 Java 枚举类型或 public static final 对象等效的 Objective C 例如 public enum MyEnum private String str private int val FOO f
  • 使用 Hibernate 用瞬态对象更新持久对象

    每天 数据都是通过网络服务导入的 我创建一个新的 暂时的 实例我通过 JPA 注释在 hibernate 中映射的 pojo 的 我将数据从 Web 服务填充到瞬态实例中 我从数据库加载持久对象 我想用瞬态实例中的数据更新该持久对象 我以某
  • 调试器不会停止在 Intellij IDEA 中的源代码处

    我有一个相当奇怪的问题 无法使用 Intellij IDEA 解决 我正在解析电子邮件文件org apache james mime4j包裹 但我的邮件文件格式不兼容Date 标头 因此 我从 mime4j 源创建了模块 并从磁盘中删除了
  • 在 JList 中写一些东西

    嘿 我还有另一个问题 我创建JList在我的主窗口中 现在我想向其中添加一些内容 我这样做 private void jButton2ActionPerformed java awt event ActionEvent evt Dodaj
  • 如何在 Java 中复制对象?

    考虑下面的代码 DummyBean dum new DummyBean dum setDummy foo System out println dum getDummy prints foo DummyBean dumtwo dum Sys
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • Java:Swing:设置JButton的位置

    我想实现以下布局 OK
  • 如何确定 JDialog 显示在哪个屏幕上

    我有一个非常大的应用程序 有多个对话框 我的任务是确保不完全可见的对话框 因为用户将其从可见屏幕区域拉出 移回屏幕中心 当我只处理一个屏幕时 这没问题 它工作得很好 但是 该应用程序的大多数用户的桌面上都有两个屏幕 当我尝试找出对话框显示在
  • TableModel setCellEditable 并自动将值设置回 false

    我目前正在尝试在 JTable 中实现 JPopupMenu 它允许解锁单元格以进行编辑 Override public void actionPerformed ActionEvent e if e getActionCommand Un
  • 如何注册 org.springframework.integration.monitor.IntegrationMBeanExporter

    根据http www ibm com support knowledgecenter en SS7K4U 8 5 5 com ibm websphere nd multiplatform doc ae cspr data access tr
  • 如何使用Gson将JSONArray转换为List?

    在我的 Android 项目中 我试图将收到的 JSONArray 转换为列表 在 的帮助下这个答案 https stackoverflow com questions 8371274 how to parse json array in
  • 相对重力

    我最近开始使用jMonkey引擎 这非常好 但我在尝试实现相对重力时陷入了困境 我想让行星彼此围绕轨道运行 不一定是完美的圆形轨道 取决于速度 所以每个对象都应该影响其他对象 我现在拥有的 关闭全球重力 bulletAppState get
  • 如何在不冒 StackOverflowError 风险的情况下使用 CompletableFuture?

    我想遍历异步函数的搜索空间 我将逻辑编码如下 Assuming that a function maps a range of inputs to the same output value minimizes the input valu
  • 致命异常:OkHttp 调度程序

    我在 Android 应用程序中使用 OkHttp 库向天气 API 发出 Web 请求 我已经实现了我的代码 但在执行请求时遇到了致命异常 我也已经在我的清单中添加了互联网权限 MainActivity java private Curr
  • java.lang.IllegalStateException:FragmentManager 已被销毁

    活动中onResume我称之为 volley request 的方法 它获取项目列表 然后将它们加载到此活动内的 ListFragment 中 当我第一次进入活动时 一切正常 但当我重新进入活动时 ListFragment 为空 并且控制台
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • 原子整数的compareandexchange()与compareandset()

    在研究 AtomicInteger 时 我发现这个 API 提供了两种方法 比较和交换 如果当前值被引用 则自动将该值设置为 newValue to 作为见证值 预期值 记忆效应为 由指定VarHandle compareAndExchan
  • 使用替换但不使用根元素的 Jaxb 继承

    我正在浏览布莱斯的博客http blog bdoughan com 2010 11 jaxb and inheritance using substitution html http blog bdoughan com 2010 11 ja
  • 如何将字符串解析为map

    有一个像A B C D E F这样的字符串 如何将其解析为map 我会使用拆分 String text A B C D E F Map
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动

随机推荐

  • ubuntu 查看USB对应的串口

    dmesg grep tty conner conner W65KJ1 KK1 dmesg grep tty 0 000000 console tty0 enabled 4 599129 usb 1 6 2 ch341 uart conve
  • FAT32下和NTFS下永久性删除文件的恢复

    FAT32下和NTFS下永久性删除文件的恢复 查看文件系统类型 FAT32下永久性删除文件的恢复 NTFS下永久性删除文件的恢复 注意事项 总结 查看文件系统类型 右键磁盘点击属性 就可以看到文件系统 如果没有FAT32文件系统 可以创建虚
  • 外包干三年,必废!

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rock
  • Anaconda环境配置常见报错与解决方案汇总

    Anaconda指的是一个开源的Python发行版本 其包含了conda Python等180多个科学包及其依赖项 因为包含了大量的科学包 Anaconda 的下载文件比较大 约 531 MB 如果只需要某些包 或者需要节省带宽或存储空间
  • Windows 环境安装Scala详情

    为了进一步学习Spark 必须先学习Scala 编程语言 首先开始Scala 环境搭建 温馨提示 本文是基于Windows 11 安装Scala 2 13 1 版本 第一步 确保本机已经正确安装JDK1 8 环境 第二步 Scala 官网下
  • python里unexpected eof while parsing_[人人都会编程]Python代码报错看不懂?记住这20个报错提示单词轻松解决bug...

    1 syntaxerror invalid syntax语法错误 无效语法 1 syntax s nt ks 语法 句法 2 error er r 错误 3 invalid n v l d 无效 2 syntaxerror unexpect
  • ChatGPT爆火背后的真相:学编程已经成为必选项

    这一阵最热门的话题 莫过于人工智能新选手 ChatGPT 在推出后只用了两个月就积累了1亿用户 它的出现在科技圈掀起了一阵 惊涛骇浪 有人称ChatGPT的意义 堪比当年蒸汽机的出现 它足以爆发新一轮的 工业革命 它的出现 和我们每个人的生
  • 有关@string

    android label string app name gt 什么意思 有何作用 android label string app name gt 意思是应用的名称 还有一个是主活动的名称 label表示标签 表示引用 string a
  • 计算机视觉教程核心版(三)优化中篇反向传播展示

    目录 介绍 简单的表达式 模块化 反向传播中的模式 多个分支梯度相加 介绍 在本节中 我们将对反向传播 这是一种通过递归的应用链式法则计算梯度表达式的方法 进行直观而专业的理解 理解反向传播的过程以及其中的细节对我们理解 有效开发 设计和调
  • linux系统 nginx服务 多个vue项目配置-超详细

    linux系统 nginx服务 多个vue项目配置 超详细 linux系统 nginx服务 多个vue项目配置 超详 首先了解nginx路由配置注意事项 nginx安装 vue项目配置后缀 nginx安装配置 重启nginx服务 配置好后出
  • 市场火爆的NFT 应用场景分析与NFT开发技术搭建

    NFT 的应用 NFT 可以表征数字资产本身 也可用于表征某种特殊用途的凭证 房产证 护照 门票 优惠券等 因此它的使用场景是极其广泛的 当下主流的 NFT 应用为链上原生的游戏道具和艺术收藏 去中心化域名服务也是 NFT 的一个发展方向
  • Element-UI

    Element UI 组件 Tree 树形控件 用清晰的层级结构展示信息 可展开或折叠
  • 学习vue3系列computed

    响应式API中 computed 和之前的 computed 选项用法类似 对于任何复杂逻辑 我们都可能使用计算属性 比如翻转字符串
  • windows下secureCRT远程连接Linux错误

    描述 The server has disconnected with an error Server message reads A protocol error occurred The connection is closed by
  • MIPI D-PHY的初始化(MIPI Alliance & Xilinx)

    DPHY的基本介绍及使用已有很多文章 基本是基于 MIPI Alliance Specification for D PHY 的内容 学习时也以此为准 可参考CSDN上的文章 着重讲述MIPI D PHY的初始化部分 1 D PHY的功能及
  • 服务器2012系统磁盘压缩,windows10 部分文件夹自动勾选了“压缩内容以便节省磁盘空间”...

    您好 根据您的描述 在重启前能够正常取消压缩 但在重启后文件再次被压缩 说明系统功能和组件正常 很可能是某个应用影响了系统导致这个问题 请您仔细回忆下 您是在安装或更新了什么应用后出现该问题的 或使用了空间优化应用 请尝试将其关闭后 查看能
  • 基于Sqli-Labs靶场的SQL注入-54~65关

    目录 Less54 十步以内获取密钥 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less55 十四步以内获取密钥 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less56 十四步以内获取密钥 Less57 十四步以内获取密钥 Less
  • Linux Ubuntu下运行startx后的恢复办法

    解决办法 Alt Ctrl F3 进入控制台界面 提示登录时 输入你的Ubuntu用户名后回车 有密码的话 再输入密码 登录成功 cd 进入你的用户目录 rm rf Xauth 删除 Xauthority文件 Alt Ctrl F7 返回到
  • ROBO Pro的机械臂编程过程

    ROBO Pro是一种用于控制机械臂的软件 它可以使用图形化或文本化的编程方式 机械臂编程的过程大致如下 连接机械臂和电脑 打开ROBO Pro软件 选择合适的模板或创建新的项目 设计编程逻辑 可以使用拖拽或输入代码的方式 调试和运行程序
  • Java基础之static关键字

    目录 静态的特点 第一章 静态代码块 第二章 静态属性 第三章 静态方法 调用静态方法时 静态方法中调用非静态方法时 第四章 static关键字与其他关键字 友情提醒 先看文章目录 大致了解文章知识点结构 点击文章目录可直接跳转到文章指定位