类变量(静态变量)
static变量是同一个类所有对象共享
static类变量在类加载的时候就生成了,不创建对象也可以访问
- 什么是类变量
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。 - 如何定义类变量
访问修饰符 static 数据类型 变量名;(推荐)
static 访问修饰符 数据类型 变量名; - 如何访问类变量
- 类名.变量名(推荐)
- 对象名.类变量名(静态变量的访问修饰符权限、范围和普通属性一样)
- 什么时候使用类变量
当我们需要让某个类的所有对象都共享一个变量时,可以使用类变量 - 类变量与实例变量(普通属性)的区别
类变量是该类的所有对象共享的,而实例变量是每个对象共享的 - 加上static称为类变量或静态变量,否则称为实例变量/普通变量/非静态变量
- 实例变量不能通过类名.变量名来访问
- 类变量的生命周期是随类的加载开始,随着类消亡而销毁
小问题
什么是多态?多态的具体体现有哪些?
多态:方法或对象具有多种形态,是OOP的第三大特征,是建立在封装和继承基础之上
多态具体体现:
- 方法多态
- 重载体现多态
- 重写体现多态
- 对象多态
- 对象的编译类型和运行类型可以不一致,编译类型在定义时就已经确定,不能变化
- 对象的运行类型是可以变化的,可以通过getClass()来查看运行类型
java 的动态绑定机制是什么?
- 当调用对象的方法时,该方法会和对象的内存地址/运行类型绑定
- 当调用对象的属性时,没有动态绑定机制,哪里声明哪里使用