面向对象
1.概念
2.对象和类之间的关系
3.构造方法
4.this
5.构造代码块
6.局部代码块
7.成员变量与局部变量的区别
1.概念
面向对象本质是一种编程范式(一种思考方式)
面向过程:关注的是代码的实现细节
面向对象:先把代码实现细节整合到对象中,找到这个对象就能拥有对象的功能。面向对象基于面向过程,面向对象优于面向过程?如果场景比较简单优先推荐面向过程,如果场景很复杂优先推荐面向对象。
2.对象和类之间的关系
对一类对象来进行抽取,把共有的特征信息抽取成了属性,把共有的行为信息抽取成了方法,把这一类对象抽取成了类。类是对对象的概括,对象是对类的具体实现。
3.构造方法
a.构建对象
b.1.与类同名 2.没有返回值类型
c.有参构造用于属性初始化,支持构造方法重载
d.当类中没有定义任何形式的构造方法JVM会在底层默认添加无参构造,如果类中已经定义构造方法那么底层就不会再添加无参构造
e.类中至少含有一个构造方法
4.this
a.关键字,代表当前类的对象
b.可以代表当前类还没有产生的对象,代表当前类刚创建的对象,代表当前类正在使用的对象。this是灵活的指代(虚拟),可以指代成当前类正在活动的对象。
c.this语句—在同一个类中的构造方法里调用别的构造方法
5.构造代码块
a.在方法外类内{}
b.属性初始化
c.优先于所有的构造方法先执行
6.局部代码块
a.在方法内{}
b.控制变量的生命周期,提供内存利用率
7.成员变量与局部变量的区别
1.位置
成员变量:方法外类内
局部变量:方法内
2.使用范围
成员变量:整个类
局部变量:整个方法
3.内存
成员变量:堆
局部变量:栈
4.生命周期
成员变量:随着类创建对象而出现,随着对象被回收而消失
局部变量:当方法被调用时才出现随着方法执行结束而消失
面向对象的特征
封装、继承、多态(抽象)
封装
体现形式—方法,属性私有化并且提供公共的访问方式来进行正常取值和赋值,提高代码数据安全性。