1.static
表示静态的 是java中的修饰符 可以修饰成员变量和成员方法
修饰成员变量称为静态变量
表示该变量对这个类中的所有对象共享 不属于某个特定的对象 是类的级别的变量
调用:直接使用类名. 去调用 例如:Student.teacherName;
静态变量在类加载的时候就出现了 早于对象的创建(只有new的时候才会创建对象)
看成员变量是否可以定义为静态变量的判断标准:是否数据可以共享
修饰成员方法称为静态方法
场景:通常用于测试类和工具类中(关于对这一点我自己的理解 也欢迎大佬指点 我认为测试类和工具类的通用性比较强 定义为静态方法 方便在使用的时候直接通过类名去调用里面的各种方法 而不再需要针对某一个方法需要先new一个特定的对象 )
建议类名去调用
工具类不需要让外界创建他的对象 将他的无参构造私有化就可以了
注意:
静态方法中没有this关键字(this指的是调用者(对象)的地址值 静态是属于类级别的)
静态方法中 只能访问静态(访问成员变量的成员方法 默认前面有this 但与上一条冲突)
非静态方法中 都可以访问(访问静态通过对象或者类名都可以)
2.封装
对象代表什么 你就要封装什么样的数据 并且提供描述这些对象的行为
数据是分散的 封装成对象 也就是抽象成有特征的数据 更便于参数的接收和传递 是对数据的一种整理和分类
3.继承
当对象的数量越来 越多的时候 封装的数据也就越来越多 但对于具有相同功能的类和对象 可以通过复用相同功能和属性提高代码的可重用性 继承者(子类)还可以在父类的基础上做大做强 扩展更多属性和功能