static是静态的意思,可以修饰成员变量和成员方法;static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改
成员变量可以分为两类
静态成员变量(有static修饰,属于类,内存中只加载一次):常表示·如在线人数信息等需要被共享的信息,可以被共享访问。
在使用静态成员变量时推荐类名.静态成员变量
实例成员变量(无static修饰,属于对象),访问格式对象.实例成员变量
静态成员变量:需要被共享的信息
实例成员变量:属于每个对象,且每个对象的该信息不同时
类中成员方法的分类
静态成员方法(有static修饰,归属于类),建议使用类名访问,也可以使用对象访问
实例成员方法(无static修饰,归属于对象),只能用对象触发访问
每种成员方法的使用场景是怎么样的?
表示对象自己的行为,且方法中需要直接访问实例成员,则该方法必须申明成实例方法。
如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明为静态方法
static访问注意事项
静态方法只能访问静态的成员,不可以直接访问实例成员
实例方法可以访问静态的成员,也可以访问实例成员
静态方法中是不可以出现this关键字的,因为this是对象
工具类是什么?
类中都是一些静态方法,每个方法都是完成一个共用的功能为目的,这个类用来给系统开发人员共同使用
使用工具类的好处:一是调用方便,二是提高了代码的复用性
为什么工具类中的方法不用实例化方法做?
实例化方法需要创建对象调用;此时用对象只是为了调用方法,这样只会浪费内存。
工具类定义时的其它要求
由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器私有化。
代码块概述
代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类),定义在类中方法外。
在Java类中,使用{}括起来的代码被称为代码块
代码块分为两种
静态代码块:static{}。需要通过static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次。在类加载的时候做一些静态数据初始化的操作,以便后续使用
构造代码块(很少使用到):{}。每次创建对象,调用构造器执行时,都会执行该代码块中的代码,并且在构造器执行前执行。用在初始化实例资源的时候。
如果要在启动系统时对静态资源进行初始化,则建议使用静态代码块完成数据的初始化操作。
什么是设计模式?
开发中经常遇到一些问题,一个问题通常有n种解法,但其中肯定有一种解法是最优的,这个最优的解法被人总结出来,称之为设计模式