static静态关键字
-
static是静态的意思 可以修饰成员变量和成员方法
-
static修饰成员变量表示该成员变量只在内存中存储一份 可以被共享访问、修改
-
成员变量分为静态成员变量和实例成员变量
-
两种变量各在什么情况下定义
静态成员变量:表示在线人数等需要被共享的信息
实例成员变量:属于每个对象 如name age
static访问注意事项
静态方法只能访问静态成员 不可以访问实例成员
实例方法可以访问静态成员 也可以访问实例成员
静态方法中是不可以出现this关键字的
static应用知识:工具类
内部都是一些静态方法 每个方法完成一个功能
一次编写 处处可用 提高代码的重用性
要求
建议工具类的构造器私有化处理
static应用知识:代码块
代码块定义在类中方法外
静态代码块:
格式:static{}
特点:需要通过static关键字修饰 自动触发 只执行一次
使用场景:在类加载时做一些静态初始化的操作
static应用知识:单例设计
饿汉单例
实现步骤:
定义一个类,把构造器私有
定义一个静态变量存储一个对象
懒汉单例
在真正需要对象时 才创建一个对象
实现步骤:
定义一个类,把构造器私有
定义一个静态变量存储一个对象
提供一个返回单例对象的方法
继承
Java提供一个关键字extends 建立父子关系
public class Student extends People {}
Student称为子类 People称为父类
- 继承满足什么样的设计规范?
子类相同特征放在父类中
子类独有的属性和行为定义在子类自己里
继承的特点
- 子类可以继承父类的属性和行为 但不能继承构造器
- Java是单继承模式 一个类只能继承一个直接父类
- Java不支持多继承、但是支持多层继承
- Java中所有类都是Object类的子类
方法重写
在继承体系中 子类出现了和父类一模一样的声明
@Override作用
- 重写校验注解 加上后注解如果错误 会出现提示
- 建议加 代码安全
- 注意事项
重写方法的名称、形参列表必须与被重写的方法名称和参数列表一致
私有方法不能被重写
子类重写父类方法时 访问权限必须大于或等于父类
子类不能重写父类的静态方法 如果重写会报错
子类选择器特点
- 子类的全部构造器默认会 优先访问父类的无参数构造器再执行自己