面向对象的概述
- 面向对象内容的三条主线
- Java 类及类的成员:属性、方法、构造器;代码块、内部类
- 面向对象的特征:封装、继承、多态、(抽象)
- 其他关键字的使用:this、super、package、import、static、final、interface、abstract 等
- 面向对象和面向过程
- 面向过程
- 以函数为组织单位
- 是一种执行者思维,适合解决简单问题。扩展能力差、后期维护难度较大
- 面向对象
- 以类为组织单位。每种事物都具备自己的属性和行为/功能
- 是一种设计者思维,适合解决复杂问题。代码扩展性强、可维护性高
- 面向过程
- 面向对象编程的两大核心:类(Class)、对象(Object)
类的实例化与对象的内存解析
- 面向对象完成具体功能的操作的三步流程
- 创建类,并设计类的内部成员(属性、方法)
- 创建类的对象(类的实例化)
- 通过对象,调用其内部声明的属性或方法,完成相关的功能
匿名对象
- 使用:
new 对象().成员
- 注意
- 如果只想单纯的调用一个方法,让方法执行,我们可以考虑使用匿名对象
- 是如果涉及到赋值,千万不要用匿名对象
成员变量和局部变量的区别
- 定义位置不同
- 成员变量:类中方法外
- 局部变量:定义在类方法中
- 初始化值不同
- 成员变量:有默认值,所以不用先手动赋值就可以直接使用
- 局部变量:没有默认值,需要先手动赋值然后再使用
- 作用范围不同
- 成员变量:作用于整个类
- 局部变量:只作用于自己所在的方法
- 内存位置不同
- 成员变量:在堆中,跟着对象走
- 局部变量:在栈中,跟着方法走
- 生命周期不同
- 成员变量:随着对象的创建而产生,随着对象的消失而消失
- 局部变量:随着方法的调用而产生,方法调用完毕后消失