1、static
static修饰成员变量
基本概念和定义
static修饰的称为类变量。
使用方法
1、类变量的用法
如下图红框中
1)类名.类变量,通过类名直接调用
2)对象.类变量
2、实例变量的用法
实例化之后才能调用:对象.实例变量,不能通过类名访问
执行原理
类变量执行原理:因为只有一份,所以初始化无数次,都会输出最后初始化的结果。
实例变量执行原理:
最后输出首次初始化的结果
总结
static修饰成员变量的应用场景
案例的实现步骤
建立构造器,通过调用构造器
总结
static修饰修饰成员方法
成员方法分类
类方法和实例方法
代码示例
类方法调用示例:
实例方法调用的定义:
执行原理
总结
补充知识,main方法
static修饰成员方法的应用场景
最常见的应用场景是做工具类
示例:
工具类不需要创建对象(因为工具类是类变量,直接通过类名即可调用,故不需要创建对象来调用),节约内存,在工具类中私有化。
总结
static的注意事项
1、类方法可以直接访问类的成员,不可以直接访问实例成员
实例成员 = 实例变量
2、实例方法中既可以直接访问类成员,也可以直接访问实例成员,实例方法还能直接访问类中其它实例方法。
实例方法访问其它实例方法,this可加上也可以省略。
3、实例方法中可以出现this关键字,类方法中不可以出现this关键字
static的应用知识:代码块
代码块概述和分类
这两种代码块日常使用不多,在socket公司的源码中使用较多。
静态代码块
1)先输出静态代码块的 结果
2)静态代码块仅执行一次
3)在静态变量中为类变量赋值
实例代码块
1)创建对象时,先执行实例代码块,后执行构造器
this表示当前对象的地址
写代码过程中会遇到一些代码重复的情况,减少重复代码的,且实例代码在构造器之前执行,可将下面的重复代码放置实例代码中
删除重复代码后
static的应用知识:单例设计模式
确保一个类只有一个对象,不能在类外创建对象
饿汉式单例设计模式例子:
单例设计模式的应用场景和好处
Runtime
单例设计模式的实现方法
总结
懒汉式单例设计模式
例子
懒汉式单例和饿汉式单例选择
若需要频繁使用的,则采用饿汉式,把单例模式提前设计出来
若使用没这么频繁,则采用懒汉式,节约内存。
面向对象的三大特征之二:继承
继承的快速入门
什么是继承
例子
1、父类如何调用子类的成员
2、如何在父类和子类外创建对象
继承的执行原理
总结
继承的好处
减少重复代码的编写
改进后