网站设计的可行性分析,烘焙食品网站建设需求分析,村级网站建设系统,网站建设功能需求文档static是什么 static是静态的意思#xff0c;可以修饰成员变量和成员方法。 static修饰成员变量表示该成员变量只在内存中只存储一份#xff0c;可以被共享访问、修改。 成员变量可以分为2类 静态成员变量#xff08;有static修饰#xff0c;属于类#xff0c;内存中加载… static是什么 static是静态的意思可以修饰成员变量和成员方法。 static修饰成员变量表示该成员变量只在内存中只存储一份可以被共享访问、修改。 成员变量可以分为2类 静态成员变量有static修饰属于类内存中加载一次∶常表示如在线人数信息、等需要被共享的信息可以被共享访问。---通常用类访问类.静态成员变量同一个类中类可以省略 实例成员变量无static修饰存在于每个对象中)︰常表示姓名name、年龄age、等属于每个对象的信息 static修饰成员变量的内存原理 执行一个类的时候会将这个类加载到方法区同时在堆内存开辟一块该类的静态变量区 随后提取main方法到栈内存 static修饰成员方法的基本用法 成员方法的分类: 静态成员方法有static修饰归属于类)建议用类名访问也可以用对象访问。 实例成员方法无static修饰归属于对象)只能用对象触发访问。 使用场景 表示对象自己的行为的且方法中需要访问实例成员的则该方法必须申明成实例方法。 如果该方法是以执行一个共用功能为目的则可以申明成静态方法. 内存原理 类和静态方法优先加载到方法区提取main方法在栈内存中执行提取getMax方法到栈内存中执行 在堆内存中创建对象将地址赋给栈内存中的变量同时在方法区加载实例方法 static的注意事项 静态方法只能访问静态的成员变量或方法不可以直接访问实例成员变量或方法 。 实例方法可以访问静态的成员也可以访问实例成员。 静态方法中是不可以出现this关键字的。因为this代表当前对象而静态方法可以不用对象调用 static应用知识工具类 工具类是什么? 类中都是一些静态方法每个方法都是以完成一个共用的功能为目的这个类用来给系统开发人员共同使用的。 案例导学 在企业的管理系统中通常需要在一个系统的很多业务处使用验证码进行防刷新即疯狂点击登录按钮等安全控制 问题同一个功能多处开发代码重复度过高 工具类的好处 一是调用方便二是提高代码复用 思考 为什么工具类中的方法不用实例方法做 答因为工具类的方法一般是为了实现某个共用的功能使用静态方法可以直接通过类调用而无需创建对象再通过对象调用避免了内存浪费 工具类定义时的其他要求 由于工具里面都是静态方法直接用类名即可访问因此工具类无需创建对象建议将工具类的构造器进行私有。 static应用知识代码块 代码块概述 ●代码块是类的5大成分之一成员变量、构造器方法代码块内部类)定义在类中方法外。 ●在Java类下使用{}括起来的代码被称为代码块。 代码块分为 静态代码块: 格式: static{} 特点:需要通过static关键字修饰随着类的加载而加载并且自动触发、只执行一次 使用场景:在类加载的时候做一些静态数据初始化的操作以便后续使用。 构造代码块了解见的少): 格式:{} 特点:每次创建对象调用构造器执行时都会执行该代码块中的代码并且在构造器执行前执行 使用场景:初始化实例资源。 应用案例 static应用知识单例模式 什么是设计模式Design pattern) 开发中经常遇到一些问题一个问题通常有n种解法的但其中肯定有一种解法是最优的这个最优的解法被人总结出来了称之为设计模式。设计模式有20多种对应20多种软件开发中会遇到的问题。 学设计模式主要是学2点: 第一:这种模式用来解决什么问题。 第二:遇到这种问题了该模式是怎么写的他是如何解决这个问题的。 单例模式 可以保证系统中应用该模式的这个类永远只有一个实例即一个类永远只能创建一个对象。 例如任务管理器对象我们只需要一个就可以解决问题了这样可以节省内存空间。 单例的实现方式很多饿汉单例模式、懒汉单例模式。 饿汉单例设计模式 public class SingleInstance{//提前准备好对象.且为静态public static SingleInstance instance new SingleInstance();//将构造器私有化保证不能随便创建对象只有一个实例private SingleInstance(){}
} 懒汉单例设计模式 在真正需要该对象的时候才去创建一个对象延迟加载对象 设计步骤 定义一个类把构造器私有 定义一个静态变量存储一个对象 提供一个返回单例对象的方法 public calss SingleInstance{//定义一个静态变量存储一个对象属于类与类一起加载注意私有化private static SingleInstance instance;//null//私有化构造器保证应用该模式的类只有一个实例private SingleInstance(){}//必须提供一个方法返回一个单例对象public static SingleInstance getInstance(){if(instance null){//说明是第一次拿对象instance new SingleInstance();}return instance;}
} 最后 今天java关于static的知识点就分享到这里啦之后会不定期更新关于java的其他知识点 如果觉得文章质量还不错的话就点点赞、点点关注吧~