static--main--单例

FISCO BCOS(一)———搭建单群组FISCO BCOS联盟链 1、安装ubuntu依赖 sudo apt install -y openssl curl 2、创建操作目录, 下载安装脚本 创建操作目录 cd ~ && mkdir -p fisco && cd fisco 下载脚本 curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.8.0/build_chain.sh && chmod u+x build_chain. 阅读详情

static关键字:用于修饰成员(成员变量和成员函数)
被static修饰后的成员具有以下特点:
随着类的加载而加载,随着类的消亡而消失。生命周期最长。
优先于对象存在
被所有对象所共享
可以直接被类名调用:类名.静态成员
使用时要注意:
静态方法只能访问静态成员
非静态方法既可以访问静态又可以访问非静态。
静态方法中不可以写this、super关键字
因为静态优先于对象存在,所以静态方法不可以出现this。
主函数是静态的
静态的利弊:
好处:节约资源,可以直接被类名调用。

弊端:生命周期长,访问出现局限性。

public class StaticDemo {

	public static void main(String[] args) {
		Person p = new Person();
		p.name = "zhangsan";
		p.show();
		System.out.println(Person.country);//类名调用
		//System.out.println(p.country);//类名调用
	}

}
class Person{
	String name;//成员变量。实例变量,随对象存在。
	static String country = "CN";//静态的成员变量,类变量,
	public void show(){
		System.out.println(name+"**********"+country);
	}
}

主函数:main
public:代表该函数访问权限是最大的。
static :主函数随着类的加载已经存在。
void :主函数没有具体返回值。
main :特殊单词,被JVM识别。
(String[] args):函数的参数,参数类型是个数组,该数组中的元素是字符串,字符数组。


什么时候使用静态:因为静态修饰成员和函数。所以应该从静态变量和静态函数入手
那么什么时候定义静态变量呢?
当对象中出现共享数据时,该数据被静态所修饰(注意区分属性和数据:数据是属性的值,
例如 属性name,它的数据值是zhangsan,lisi等)
什么时候定义静态函数呢?
当功能内部没有访问到非静态数据时(对象特有数据),那么该功能可以定义成静态。


静态代码块:
格式
static
{
静态代码块中的执行语句。
}
特点:随着类的加载而执行,而且只执行一次,
作用:用于给类进行初始化。
代码演示:

package basicTest;

/*
* 这个例子很好的演示了静态代码块   构造代码块  构造函数在程序运行时的加载次序
* 
* 静态代码块在初始化对象是就执行而且只执行一次,
*         如果静态代码块与主函数在一个大括号内,则先加载静态代码块
* 
* 此外,我们也可以看到,构造代码块的执行优先于构造方法
* */
class Code{
    //静态代码块
        static{
        System.out.println("Code的静态代码块");
        }
   //构造方法
        public Code(){
        System.out.println("Code的构造方法");
        }
   //构造代码块
        {
            System.out.println("Code的构造块");
		}
    }


public class CodeBlock03{
     {
      System.out.println("CodeBlock03的构造块");    
     }

     static{
        System.out.println("CodeBlock03的静态代码块");
        }

        public CodeBlock03(){
             System.out.println("CodeBlock03的构造方法");
            }
      public static void main(String[] args){
            System.out.println("CodeBlock03的主方法");
            new Code();
            /*new Code();
            new CodeBlock03();
            new CodeBlock03();*/
          }
    }

单例设计模式:解决一个类在内存中只有一个对象。
 * 单例设计模式的代码体现
 * 1.私有化构造函数
 * 2.创建私有并静态的本类对象
 * 3.定义共有并静态方法,返回该类对象
 * 
 * 单例设计模式包括饿汉式和懒汉式
 * 先写饿汉式:先初始化对象

package DesignPattern;
class singleTon {
	//一进入类就初始化对象,此称为饿汉式
	private Single(){}//私有化构造函数
	//创建私有并静态的本类对象
	private static Single s=new Single{};
	//定义共有并静态方法,返回该对象
	public static getInstance(){
		return s;
	}
	
	/*
	 * 懒汉式单例设计模式:被调用时才初始化。
	 * 也叫延迟加载。
	 * */
	private static Single s=null;
	private Single(){};
	public static getInstance(){
		if(s=null)
			s=new Single();
		return s;
	}
	
}


HLA分型 HLA分型 一、根据WES的tumor数据进行数据分型 选用hlahd 软件安装及使用 [root@18605fd8771e ~]# wget https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-linux-x86_64.zip [root@18605fd8771e ~]# unzip bowtie2-2.4.1-linux-x86_64.zip && mv bowtie2-2.4.1 阅读详情

相关推荐

网络工程系统CAD图:从设计到落地的关键技能与实战指南

网络工程并不只是配置路由器和交换机,真正的核心在于将设计方案转化为可施工的物理图纸。网络工程系统CAD图正是连接逻辑设计与物理世界的桥梁,它涵盖综合布线、信息点布置、桥架路由、弱电间规划等关键内容。理解并掌握这套图纸体系,是网络工程师从基础设备调试走向项目主导者、弱电总工乃至网络架构师的重要分水岭。在园区网、数据中心、智能楼宇等真实场景中,一套规范的系统CAD图直接决定了施工质量、验收效率与后期运维的可靠性。本文从基础概念出发,拆解图纸的组成层次、绘制流程和软件工作流,并结合学习路线与就业方向,帮助初学者建

weixin_33860553的博客 389

黑马程序员 笔记(六)——面向对象(static关键字、静态、main函数、、帮助文档、对象的调用和初始化、单例)

------- android培训、java培训、期待与您交流! ---------- static关键字以及静态 用途:是一个修饰符,只能用于修饰成员(成员变量和成员函数)。不能修饰局部变量。 被修饰后的成员具备一下特点: 随着类的加载而加载,随着类的消失而消失。 优先于对象存在。 被所有对象所共享。(任意一个对象更改了静态数据,那么其他对象使用数据时

heshiyingx的专栏 744

AI Agent技术架构与规模化应用:2025年技术深度解析

2025年,AI Agent(人工智能智能体)迎来了规模化应用的拐点时刻。根据Gartner等权威机构预测,企业软件中整合自主型AI的比例将从2024年的不足1%跃升至2028年的33%。本文深入剖析AI Agent的核心技术架构,从规划模块、记忆模块、工具调用模块到底层实现原理,结合Python和Go语言的实际代码示例,全面阐述AI Agent的技术实现路径。同时,本文探讨多智能体协作系统、企业级部署架构以及未来的技术演进方向,为开发者和技术决策者提供系统性的技术参考。关键词:AI Agent、大语言模型

shao.bing的专栏 1348

Scala 孤立对象和单例对象方法体的用法和例子

1 马克-to-win@ 马克java社区: 以object关键字修饰一个类名,这种语法叫做孤立对象,这个对象是单例的。 相当于将单例类和单例对象同时定义。相当于java中的单例,即在内存中只会存在一个Test3实例。创建一个Scala Object,它相当于java的static, 不要用Scala-class去建工程,不然就不能建main函数了。 2 方法声明以def开头, 然后是方法...

qq_44596980的博客 349

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5561

【RandLA-Net实战】从零构建隧道点云数据集并训练大场景语义分割模型

本文详细介绍了如何使用RandLA-Net构建隧道点云数据集并进行大场景语义分割模型训练。从数据采集、标注到模型训练与优化,提供了完整的实战指南,特别针对隧道场景的特殊挑战提出了解决方案。通过实际案例展示了RandLA-Net在处理大场景点云数据时的高效性和准确性,为隧道巡检等工程应用提供了可靠的技术支持。

weixin_30485379的博客 113

使用cpp11写一个线程安全的单例模板

下面是一个使用 C++11 写的线程安全的单例模板: template<typename T> class Singleton { public: static T&amp; GetInstance() { static T instance; return instance; } private: Singleton() = default;...

weixin_35752645的博客 137

Orale EBS R12 AP应付模块 发票导入接口(Interface)

ap_interface_groups_s.nextval; ap_invoices_interface_s.nextval; ap_invoice_lines_interface_s.nextval; SELECT * FROM ap_invoices_interface ih; SELECT * FROM ap_invoice_lines_interface il; SELECT * FROM...

qq_41206741的博客 3316

JAVA编程思想第六章练习8

题目:效仿示例Lunch.java的形式,创建一个名为ConnectionMannager的类,该类管理一个元素为Connection对象的固定数组。客户端程序员不能直接创建connection对象,而只能通过ConnectionMananger中的某个static方法来获取它们。当ConnectionManager之中不再有对象时,它会返回null引用。在main中检测这些类。 这里我没有用数...

qq_39509597的博客 727

博科的SAN交换机基本操作

2、添加用户testuser赋予user权限可以访问1-128VF默认VF为128账号描述"Test user"密码为password123。1、创建zone别名(100是指当前设备Domain ID,1和2是指对应的index号)2,删除新接入设备的ZONE或保持ZONE配置一致。3、将zone添加到当前生效的CFG中。2、将zone添加到当前生效的CFG中。3、将zone添加到当前生效的CFG中。3,将添加的级联端口持续关闭。4、将当前zone生效。4、将当前zone生效。1、查看当前所有用户。

chenjunokok的博客 1837

RuyiDify如何创建知识库API密钥:让程序安全访问知识库

知识库 API Key 是程序访问知识库的钥匙。创建它很简单,但真正重要的是知道它能做什么、应该放在哪里、不能暴露给谁。RuyiDify 讲这一步,不是为了让大家多记一个按钮,而是为了把知识库从“人工上传资料”推进到“程序化维护资料”。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 133

Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)

面向对象概念:面向对象其实是一种思考的思想,早期思想是面向过程。 面向过程注重的是过程,过程所涉及的行为,也就是功能。【实例】:面向过程: 1. 把冰箱打开 2. 把大象放入 3. 冰箱关起来      面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱

烨之魅儿的专栏 1702

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java static关键字和应用

static修饰的,属于类并与类一起加载,可以被共享访问,可以用类名或者对象名访问,但推荐使用类名访问。静态成员变量:static修饰的,属于类并与类一起加载,内存中只有一份,可以被共享访问,可以用类名或者对象名访问,但推荐使用类名访问。实例成员变量:无static修饰,属于对象,每个对象都有这些信息且不同,只能用对象名访问。属于类,与类一起加载,先于main方法自动执行一次,可以用于类的静态资源的初始化。无static修饰,属于对象,每个对象都有这些信息且不同,只能用对象名访问。

qq_51303393的博客 144

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

static 释放顺序问题

摘要: C++中static变量的析构顺序问题源于其全局生命周期特性:构造早于main(),析构晚于main(),且跨文件的构造顺序无定义。关键规则是析构顺序与构造顺序完全逆序,若存在对象间析构依赖(如A析构需访问B),而B先析构,则会导致崩溃。 解决方案: 懒汉式+永不释放(推荐):函数内局部static按需构造,依赖进程退出时操作系统自动回收资源,避免析构顺序问题,且C++11后线程安全。 显式自定义释放:在main()结束前按依赖倒序手动调用释放函数,确保被依赖对象后析构。 智能指针包装:用stati

m0_62807361的博客 1162

Java static关键字详解:原理、应用与面试要点

static关键字是Java语言中实现类级别共享的核心机制,涉及JVM内存模型、类加载等底层原理。静态变量存储在方法区而非堆内存,具有全局唯一性,常用于实现工具类、单例模式等场景。在并发编程中需特别注意静态变量的线程安全问题,合理使用AtomicInteger等并发工具。从字节码层面看,静态方法使用invokestatic指令调用,与实例方法的invokevirtual有本质区别。掌握static关键字的正确用法,能够优化系统性能并避免内存泄漏等问题,是Java开发者必须扎实掌握的基础知识。

weixin_34185320的博客 395

Java 面向对象编程中 static 的深度剖析与实践

摘要: 本文深度剖析 Java 中 static 关键字的本质与应用,从内存机制到工程实践全面解析。static 实现类级别共享,与非 static 实例成员在内存、生命周期、访问方式等方面存在根本差异。文章详解 static 修饰变量、方法、代码块、内部类的特性与使用场景,特别强调类加载顺序和线程安全问题。最佳实践建议将 static 用于工具类、常量、单例模式等场景,避免滥用导致的可维护性问题。最后指出 static 方法不支持多态、接口 static 方法等常见陷阱,提出"与实例无关才用 s

m0_57545130的博客 539

学习笔记分享-jvm-类加载-初始化、练习1、练习2

学习笔记分享-jvm-类加载-初始化、练习1、练习2

2301_81243975的博客 760

Java static避坑:静态与非静态访问规则全解析

本文全面解析了Java中static关键字的访问规则,重点分析了静态与非静态成员之间的调用限制。核心规则是:静态只能访问静态,非静态可以访问一切。文章深度剖析了静态方法不能访问非静态成员的根本原因(生命周期和绑定关系不同),并提供了常见错误场景的解决方案和正确写法。此外,还分享了进阶避坑技巧和面试高频问题,帮助开发者彻底掌握static的使用规范,避免编译错误和运行时问题。

m0_57545130的博客 683

JAVA笔记--面向对象上(第二篇)

目录 一、对象的一对一关系 二、static关键字修饰属性和方法 1、使用static关键字修饰一个属性 2、使用static关键字修饰一个方法 三、内存结构图与main方法与代码块 1、class文件加载到内存的结构图 2、main方法 3、代码块 四、单例设计模式 1、两种实现方式 2、Math代替单例 五、对象数组案例 1、对象数组与管理 一、对象的一对一关系 两个对象之间一对一关系: 比如:一个英雄(Hero)对一个兵器(Weapon) 表达对象的一对一关系,其实.

我睡觉的时候不困 603

设计模式之多例模式(Multition)

1、定义 和单例基本一样,是有个数限制的单例。如果对于产生的实例个数没有限制,那就不是多例了,和普通的类没有区别。 2、源码 具体思路:运用static关键词,设置静态变量和静态容器,限制类创建的个数。 2.1、头文件 Emperor.h #pragma once #include &lt;iostream&gt; #include &lt;vector&gt; using name...

天码丶行满 599

第六章、static关键字的使用,main()方法的使用、代码块的使用、final关键字的使用

第六章、static关键字的使用,main()方法的使用、代码块的使用、final关键字的使用。

m0_75035295的博客 172

Java基础 -----static、final、main、单例设计模式、代码块、抽象类、接口、内部类

文章目录1、static关键字1.1、static修饰属性1.2、类变量 vs 实例变量内存解析1.3、static修饰方法2、单例设计模式3、main方法4、代码块5、final关键字6、抽象类与抽象方法7、接口8、内部类 1、static关键字 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过 new 关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。 我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空

weixin_48751562的博客 694

为什么 main 方法是 public static void ?

main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public、static、void的。当然,很多人首先学的是C和C++,但是在Java中main方法与前者有些细微的不同,它不会返回任何值,为什么main方法是public、static、void,这篇文章尝试去找到一些答案。 main方法是Java程序的入口,记住,我们这里不会讨论S...

少说,多做。 1万+

JAVA基础知识点(三)--this,static,main函数,单例设计模式

一、this关键字: this关键字代表了所属函数的调用者对象。 this关键字作用:          1.如果存在同名成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据。          2.在一个构造函数中可以调用另外一个构造函数初始化对象。   this关键字要注意事项:          1.存在同名的成员变量与局部变量

ZBQ857143497的博客 513

public static void main(String[] args)含义

public static void main(String[] args){ } 1、这个函数,我们称之为主函数,它的特殊之处在于: 1、格式是固定的 2、被jvm所识别和调用 2、各组成部分含义: public:权限必须是最大的 static:不需要对象,直接用主函数所属类名调用即可,例如:在DOS窗口编译执行JAVA程序时,我们输入的是: java 类名,而jvm则会调用 ...

LeeBlog 2万+

java 入口函数 static main方法如何被jvm执行调用

jvm执行java 入口函数 public static void main方法。java 入口函数 static main方法如何被jvm执行调用。

u014200244的专栏 425
上一篇: 正则表达式
下一篇: java知识------我的积累(一)
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值