当前位置: 首页 > news >正文

Java基础之static关键字

目录

  • 静态的特点
  • 第一章、静态代码块
  • 第二章、静态属性
  • 第三章、静态方法
    • 调用静态方法时
    • 静态方法中调用非静态方法时
  • 第四章、static关键字与其他关键字

友情提醒

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

静态的特点

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

第一章、静态代码块

① 静态代码块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不能被继承,子类继承时,需要另加修改符。

http://www.lryc.cn/news/162353.html

相关文章:

  • iPhone 15 Pro有5项重大设计升级,让iPhone 15看起来很无聊
  • xCode14.3.1运行MonkeyDev出现“Executable Not Found“的解决办法
  • C# Emgu.CV+Tesseract实现识别图像验证码
  • ORACLE 11.2.0.4 RAC Cluster not starting cssd with Cannot get GPnP profile
  • Converting Phase Noise to Random Jitter(Cycle-to-Cycle)
  • HashMap知识总结
  • PLC编码器测速(限幅滤波+中心差分法求导SCL源代码)
  • SW的stp文件转成CAD格式文件学习笔记
  • 【数据结构】栈---C语言版(详解!!!)
  • sqlserver 联表查询、子查询、窗口函数、聚合函数等概念与例子
  • GO学习之 消息队列(Kafka)
  • 搭建自己的OCR服务,第三步:PPOCRLabel标注工具安装
  • Java学习笔记37——网络编程01
  • powershell 搜索文本并返回行号
  • 网络原理
  • 力扣(LeetCode)算法_C++——同构字符串
  • 网管实战⑼:配置华为S5720交换机
  • 文件上传漏洞第十六关十七关
  • Try llama2 in NUC (by quqi99)
  • 强大易用的开源 建站工具Halo
  • 如何使用vuex
  • 动手深度学习——Windows下的环境安装流程(一步一步安装,图文并配)
  • 个人博客系统-测试用例+自动化测试
  • C语言文件读写常用函数
  • 【C++基础】实现日期类
  • C语言程序设计—通讯录实现
  • 实战:大数据Flink CDC同步Mysql数据到ElasticSearch
  • B-Tree 索引和 Hash 索引的对比
  • 入门Python编程:了解计算机语言、Python介绍和开发环境搭建
  • 深度解析Redisson框架的分布式锁运行原理与高级知识点