java:static关键字

static关键字主要有4种使用情况:成员变量,成员方法,代码块和内部类。

  1.成员变量

      虽然java中没有全局的概念,但可以通过static关键字来达到全局的效果。java类型提供了两种类型的变量,用static关键字修饰的静态变量和不用static关键字修饰的实例变量 静态变量属于类,只要静态变量所在的类被加载,这个静态变量就会被分配空间,因此就可以被使用了。

    不能在方法体中定义static变量。

public static void  add(){
		// static final int i = 0; // 编译失败,只能在类中定义静态变量,不能在方法中定义静态变量
	}

 

2. 成员方法

    与变量类似,java类同时也提供了static方法与非static方法。static方法是类的方法,不需要创建对象就可以被调用。static不能使用this和super关键字,不能调用非static方法。

  static一个重要的作用是实现单例模式,单例模式的特点是该类只能有一个实例。

public class TestStatic{
	static{
		// 加载类时, 执行静态代码块
		System.out.println("....static......");
	}
	private static TestStatic f = new TestStatic(); //加载类时,为静态变量赋初值, 当去掉static,就会造成无限引用,引发栈溢出
	
	{
		System.out.println("..non..static.......");
	}
	public TestStatic(){
		System.out.println("......构造....");
	}
	
	public static void main(String[] args){
		System.out.println("main");
		TestStatic ff = new TestStatic();
	}
}

3.static代码块

  静态代码块在类中是独立于成员变量和成员函数的代码块的。它不在任何一个方法体内,jvm在加载类时会执行static代码块,如果有多个static代码块,jvm将会按顺序来执行。这些static代码块只会被执行一次

 

4. static内部类

  static内部类是指被声明为static的内部类,它可以不依赖于外部类实例对象而被实例化,而通常的内部类需要在外部类实例化后才能实例化。静态内部类不能访问外部类的普通成员变量,只能访问外部类中的静态成员和静态方法

 

static经常与final结合使用:

   static final修饰变量,表示变量一旦赋值,不能被修改,并且通过类名可以访问该变量。

   static final修饰方法,表示该方法不可覆盖,并且可以通过类名直接访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值